2 o < < • 579.% M596e at 3 lurtia ISfbrartra 5tye mtt of £«G»«££«K«G P. M. Downey & msics UBftAKV p M DOWNEY Digitized by the Internet Archive in 2013 http://archive.org/details/elementarymathemOOmetz Elementary IVIetthiemsttiosil Program m i ng NEW YORK • JOHN WILEY & SONS, INC London • Chapman & Hall, Ltd. lementary rogretm m i ng ROBERT W. METZGER Industrial Engineering Department General Motors Institute Copyright © 1958 by John Wiley & Sons, Inc. All Rights Reserved. This book or any part thereof must not be reproduced in any form without the written permission of the publisher. Library of Congress Catalog Card Number: 58-13466 Printed in the United States of America This textbook is an attempt to fill a need for an elementary description of several of the methods of mathematical program- ming. Most of the material written to date concerning mathemati- cal programming has been in one of two general categories. The first category contains numerous articles written by management consultants, who are primarily concerned with presenting mathe- matical programming in very nontechnical terms as a useful tool for management. Hence these articles present the subject in terms much too general to permit any useful study. The second cate- gory contains several textbooks and numerous articles written by operations research people for fellow operations research analysts. This category presents the highly technical side of mathematical programming and is totally beyond the comprehension of all but mathematicians. This book is designed to bridge the gap between these two cate- gories. None of the mathematics is sacrificed except perhaps in the terminology used. Each of the methods is presented in a logi- cal sequence and illustrated by typical yet simple problems. Some may feel that the text belabors some points; however, it is written for those with a minimum mathematical background, although it is to be hoped that the more mathematically mature reader will not be unduly bored by the detail. S VI PREFACE This book is designed primarily for people in business and indus- try. It is designed so both the manager, who desires a cursory knowledge, and the industrial engineer or management analyst, who wants to know how to solve problems with these methods, can obtain the information they desire. This book is also suitable as a text in a one-semester introductory course in mathematical pro- gramming and as a supplementary text in an introductory course in operations research. The various methods are presented via sample problems in a logical step-by-step pattern. The examples throughout the book are carefully chosen to aid the reader's under- standing. One thing is developed at a time so the reader is exposed, in sequence, to various facets of the problems and of the solution methods. Every solution technique is summarized in a detailed listing of the step-by-step method. The methods and their various refinements and extensions are presented, but the proofs of the various theorems are omitted. One does not require the elaborate mathematical proof of a method in order to use it effectively. Liberal footnoting and the extensive bibliography provide suitable references for the student interested in further study in this and allied areas of operations research. It is hoped that this book may be an adequate primer, in the methods of mathematical programming and the general philosophy of oper- ations research, for further study in these fields. Chapter 1 provides some general introductory and background material about operations research and mathematical program- ming. Chapters 2, 3, and 4 present the three groups of methods, namely distribution, simplex, and approximation methods, respec- tively. Here the sample problems are purposely simple so as not to confuse the reader. In fact, most of the sample problems used to illustrate the various methods can be rather easily solved by inspection. Chapter 5 contains the complete solution and analysis of two typical industrial problems; a manufacturing and a blending problem. This chapter stresses the development of a suitable formulation and the interpretation of the final solution(s). Chapter 6 dis- cusses the applicability of high-speed computers for solving prob- lems and mentions several of the available computer programs which will accomplish the solution of mathematical programming problems. Chapters 7, 8, 9, and 10 illustrate the details of various problems solved via mathematical programming. These problems, though they are hypothetical, are none the less based upon real PREFACE VU industrial problems. In each of these problems, as in Chapter 5, the formulation and postsolution analysis are stressed. Many thanks are due my supervisor, L. C. Lander Jr., who helped to generate my initial interests in this area of study. Mr. Lander has always been most cooperative and understanding dur- ing the several years of study culminating in this textbook. Many of my colleagues have been most helpful in their several comments and criticisms. Several of them, particularly H. C. Charbonneau, G. E. Johnson, W. S. Klappich, and G. L. Webster, served as very competent students in faculty training sessions to allow me to develop the text and general classroom lecture format. To these men I owe a major debt of gratitude. The several students who were members of the initial class in mathematical programming at General Motors Institute during the fall term 1956 and the class of the spring term 1957 were most helpful in the final phase of polishing and "debugging" the lecture outlines. The students of this initial group were the ones who gave greatest impetus to the development of this material. Many thanks are due Mrs. B. C. Mize for the initial typing and proofreading, and last, but far from least, to my wife without whose assistance and encouragement this book would not have been a physical reality. Robert W. Metzger Flint, Michigan October 1958 ■ Introduction 1 2£ Distribution Methods 6 i3 The Simplex Method 59 ^\ Approximation Methods 1 1 9 ^3 Typical Problems and Their Solution 141 Computers and Mathematical Programming 1 66 #^ Production Planning 172 S Stock Slitting 200 ^5 Material Handling Scheduling 211 1^3 Job and Salary Evaluation 227 ■ 1 Summary 236 Bibliography 240 Index 245 ix 1. Introduction Mathematical programming is one of the many facets of the field of operations research. In order to appreciate the full potentialities of mathematical programming, it may be well to look briefly at operations research and what it is. Operations research, as such, actually was born shortly before World War II when civilian scien- tists were called in by the British Armed Forces to assist in solving problems in the radar warning network protecting the British Isles. This effort grew enormously during the war years and spread to all branches of the allied forces. The primary effort was directed toward analysis and solution of various tactical problems in all branches of the allied armed forces. Operations research actually contributed immeasurably to the allied victory. Actually operations research was not new in the history of war. In fact, numerous generals have occasionally called upon various scholars and mathematicians for the solution to various tactical problems during the many centuries of armed conflict. Indeed much of the work of F. W. Lanchester in England and Thomas A. Edison in the United States during and after World War I was similar to World War II operations research. Lanchester attempted to analyze mathematically the relationships among victory, nu- 2 ELEMENTARY MATHEMATICAL PROGRAMMING merical superiority, and firepower and published his work, under- taken primarily as a hobby, in 1916. 1 Thomas A. Edison, while a member of the Naval Consulting Board, conducted numerous studies of antisubmarine warfare. 2 The work of both these men was, however, considered of academic interest only and had no effect upon operations during World War I. The widespread suc- cess of operations research during World War II was due, in part to organizational relationships. The Naval Consulting Board of World War I was a group of civilian advisers who reported to a civilian, the Secretary of the Navy, whereas the operations research per- sonnel of World War II were attached to and reported directly to military command personnel. Operations research teams, having met with success in military problems, turned to British and Amer- ican industry during the postwar period to apply their military proven techniques to solving industrial problems. In many in- stances the results arrived at by these operations research teams were little more than those that would have been achieved by the application of good common sense. This, in general, caused man- agement to dismiss operations research summarily as just a new name for the same thing industry has been doing by committee for years. This attitude on the part of management plus the often highly sophisticated and complicated notation and writing of oper- ations researchers has been the principal cause of the relatively slow acceptance of the techniques of operations research within industry. Operations research differs from almost anything else industry has done in the past, chiefly in method and approach to a problem. The techniques of operations research require an exacting state- ment of the problem with all the variables and factors included with their proper interrelationships. This requirement causes a formulation of the problem which before this time was usually overlooked. Once this habit of precise formulation of problems is established, then the new viewpoint of operations research is pos- sible in attacking industrial problems. Mathematical programming can best be defined as the techniques used to find the optimum relationship between a number of inter- 1 F. W. Lanchester, Aircraft in Warfare: The Dawn of the Fourth Arm, Constable & Co., London, 1916. 2 W. F. Whitmore, "Edison and Operations Research," Journal of the Operations Research Society of America, V. 1, No. 2, February 1953, pp. 83-85. See also Lloyd N. Scott, Naval Consulting Board of the United States, Government Printing Office, Washington, 1920. INTRODUCTION 6 dependent variables— or a means of obtaining the very best course of action where many courses of action exist. This is the bare essence of mathematical programming, and to some it may appear over simplified. However, this definition will be extended and modified as the text progresses. Mathematical programming has been successfully applied in the following areas: 1. Product allocation— with a number of jobs that can run on a number of different machines, it is possible to determine how to best allo- cate the work to the machines so as to minimize either the total time or total cost to produce the entire work load. 2. Distribution and shipping— with a product demand at various locations and a supply of product at several warehouses, it is possible to determine which warehouse should ship how much product to which customer so that the total distribution costs are a minimum. 3. Market research (specifically locating factories, warehouses, and outlets)— it is possible to determine the best of several possible warehouse, or factory or outlet locations from various facts about each location. 4. Job and salary evaluation— here mathematical programming is used in place of multiple correlation analysis to determine the relative weights of the factors considered. This applies to salary and executive-type jobs. A similar analysis can be applied to any testing situation to give a better over-all evaluation. 5. Blending— applied to blending oils, gasolines, alloy elements, etc. It is possible to determine either how to blend available ingredients or what ingredients to obtain to meet at minimum cost a specific end-product demand. 6. Materials handling— one of the newer areas of application. This presents an approach that can increase hand or nonautomated material handling utilization upwards to 80 per cent. A typical problem is expanded later in the text. 7. Production planning — it is possible to develop the lowest-cost pro- ducing plan, starting with a sales forecast, available plant capacity, and the tangible cost factors. A typical production planning problem is ex- panded later in the text. Mathematical programming consists of many various techniques and methods. This book will not attempt to cover them all, but will include the most widely used methods. They are: 1 . Distribution methods. a. Stepping-stone method. 4 ELEMENTARY MATHEMATICAL PROGRAMMING b. Modified-distribution method. c. Vogel's approximation method. 2. Simplex method. 3. Approximation methods. The distribution methods can be applied to situations of product distribution to several customers from several sources of supply so that the distribution costs are a minimum. Consider the problem faced by a planning clerk who has factories at Janesville, St. Louis, and Flint, and must plan shipment of products to customers at various locations throughout the United States. The problem is then to determine how to supply the customer demand such that the over-all transportation cost is a minimum. The modified- distribution method and Vogel's approximation method make larger problems of this type better suited to hand computation. Problems of distribution do not lend themselves readily to obtaining the best solution by trial-and-error methods. A leading food processor is saving thousands of dollars annually in shipping costs through an application of the distribution method. The simplex method is more generally applicable to solving other types of industrial problems. Although the simplex method in- volves matrix algebra, one does not have to be a mathematician to use this method effectively. In fact, a knowledge of high school algebra is sufficient for most applications of the simplex method. This does not, however, preclude the fact that the services of a mathematician are often desirable and occasionally necessary. Approximation methods can be and are employed in some cases, several of which will be discussed later. These approximation methods do not yield the absolutely best solution, but they do per- mit a good solution to be obtained rapidly and economically. This is very useful where the precise answer may not be worth the added work or may require more time than is available. Use of the pre- cise mathematical formulation rather than an approximation may require the use of computing equipment when either the formulation is very large or complex or the answer is required in an absolute minimum of time on a repetitive basis. Some of the approximation methods are not general but are tailor-made for a particular situa- tion. They are, however, based upon the mathematical formulation. The distribution methods will be considered first. Since these are the easiest to learn and understand, they will serve as a good introduction to the methodology of mathematical programming. The methods are presented via illustrative problems. Several spe- INTRODUCTION 5 cine applications of the distribution methods to solving industrial problems are also presented. The more general simplex method is presented, and a few sample problems are developed. One section is devoted to several of the approximation methods. A sample problem is used to illustrate two of the approximation methods. Applications are included to present an over-all picture of the types of problems to which these techniques apply, and to assist in associating the problem statement, the formulation, and the inter- pretation and use of the final results. Distribution IVtethiods One of the earliest published accounts of a scientific method for formulating and solving distribution or transportation problems appeared 3 in 1941. World War II subsequently saw considerable development of the techniques of linear programming and opera- tions research. In 1951 considerable advance was given to linear programming by the Cowles Commission, 4 and particularly to the solution of distribution problems by G. B. Dantzig 5 and T. C. Koop- mans. 6 At this stage, however, the methods were still difficult for a nonmathematician to understand. The first really simplified approach, the "stepping-stone" method was presented in 1953 by W. W Cooper and A. Charnes. 7 The 3 "The Distribution of a Product from Several Sources to Numerous Localities," Frank L. Hitchcock, Journal of Mathematics & Physics, V. 20, 1941, pp. 224-230. 4 T. C. Koopmans, ed., Activity Analysis of Production and Allocation, Cowles Com- mission monograph 13; John Wiley & Sons, 1951. 5 Ibid., Part 4, Chapter XXIII. 6 Ibid., Part 2, Chapter XIV. 7 W. W. Cooper and A. Charnes, "Transportation Scheduling by Linear Program- ming," Proceedings of the Conference on Operations Research in Marketing, Case Institute, January, 1953. See also A. Charnes and W. W. Cooper, "The Stepping DISTRIBUTION METHODS 7 "stepping-stone" approach was improved somewhat 8 in 1954 and further refined to become the modified- distribution method 9 which appeared in 1955. Work since 1955 by individuals such as H. W. Kuhn, 10 M. M. Flood, P. S. Dwyer 11 has contributed to and advanced other techniques for solving problems of distribution. These methods, however, are somewhat beyond this text and hence will not be covered here. Dr. B. A. Galler has done some work in solving multidimensional distribution problems, 12 and has developed a very suitable approx- imate method which is superior, in terms of solution time and cost, to the more general simplex method. This chapter will explain the "stepping-stone" method and then give a complete description of the modified-distribution method, via a simple yet typical problem. The last portion of the chapter presents Vogel's approximation method as a useful technique for more efficient hand solution of distribution problems. The approx- imation method of Dr. Galler is discussed but not in too much detail here since the calculations are better suited to machine com- putation. However, this method is again discussed in a subsequent chapter on machine computation in mathematical programming. A DISTRIBUTION PROBLEM Consider an organization with warehouses in three locations: Flint, Janesville, and St. Louis. An order dispatcher must deter- mine how to distribute a product most economically from these Stone Method of Explaining Linear Programming Calculations in Transportation Problems," Management Science, V. 1, No. 1, October 1954. 8 A. Henderson and R. Schlaifer, "Mathematical Programming: Better Information for Better Decision Making," Harvard Business Review, May-June 1954, pp. 73-100. 9 R. 0. Ferguson, "Linear Programming," American Machinist, Special Report No. 389, McGraw-Hill Publishing Co., 1955. 10 H. W. Kuhn, "The Hungarian Method for the Assignment Problem," Naval Re- search Logistics Quarterly, V. 2, 1955, pp. 83-97. 11 P. S. Dwyer, The Solution of the Hitchcock Transportation Problem with a Method of Reduced Matrices, University of Michigan (hectographed), December 1955. See also "Maximum Group Assembly Sums," a report prepared for the director, Detachment 4 (Crew Research Laboratory) Air Force Personnel and Research Center, Randolph Air Force Base, Randolph Field, Texas. 12 B. A. Galler, "704 Program for the Approximate Solution of the Multi-dimensional Transportation Problem," General Motors Research Staff Report No. 34-782 (privately circulated), November 1956. 8 ELEMENTARY MATHEMATICAL PROGRAMMING three warehouses to four customers. The warehouses have the following quantities of this product in stock: Warehouse Location Flint 150 units Janesville 40 units St. Louis 80 units Total Supply 270 units istomers have the following ; demand Customer Location Chicago 90 units Cleveland 70 units Dayton 50 units Minneapolis 60 units Total Demand 270 units It costs $0.10 per unit per mile to transport this product. The problem is then— what warehouse should ship how much product to what customers so that the total distribution costs are minimum? The first step is to determine the distribution costs per unit from each of the three warehouses to each of the four customers. The mileage between warehouses and customers can be obtained from a map or suitable route tables and is as follows: To Frorn^-^^ Chicago Cleveland Dayton Minneapolis Flint 270 230 310 690 Janesville 100 450 400 320 St. Louis 300 540 Mileage Chart 350 570 Since it costs $0.10 per unit per mile to distribute this product then the distribution costs per unit will be as follows: Chicago Cleveland Dayton Minneapolis Flint $27.00 $23.00 $31.00 $69.00 Janesville 10.00 45.00 40.00 32.00 St. Louis 30.00 54.00 35.00 57.00 Shipping Costs per Unit If we eliminate the statement that the distribution of the product should be at a minimum cost, then many solutions to this problem DISTRIBUTION METHODS V may be obtained. A more or less standard approach to a problem like this is to assign the shipments on the basis of lowest cost inso- far as possible. Many such approaches to this problem can be made, but usually the orders will be assigned as they are received by the dispatching clerk. Assuming that the orders are received first from Dayton, then Cleveland, and Chicago, and Minneapolis, then the dispatcher could assign them as follows: The demand for 50 units at Dayton can be satisfied by Flint at the lowest cost. Flint will also supply the 70 units required by the customer in Cleveland. The customer in Chicago will receive 40 units from Janesville (this is the entire supply at Janesville) and 30 units from Flint. This exhausts the supply at Flint. The re- maining 20 units required by the Chicago customer must be shipped from St. Louis. Finally the customer at Minneapolis will receive his 60 units from St. Louis. The assignments are then as follows: From To Units Flint Dayton 50 Flint Cleveland 70 Janesville Chicago 40 Flint Chicago 30 St. Louis Chicago 20 St. Louis Minneapolis 60 Notice that the supply exactly equals the demand. Although this is usually not the case in a real situation, it was chosen here because it simplifies the problem formulation. In a later section the situation of unequal supply and demand will be considered. The above solution to the problem meets all the customer demand without overtaxing the warehouse supplies. Though this is a possible solution to the problem, is it the most economical? By reorganizing the problem it might be easier to analyze. Figure 1 is similar to the cost table but has the added advantage of presenting all of the relevant data in a concise manner. The figures in the small boxes are taken from the cost table, and the circled figures represent the shipping assignments previously made. The supply and demand figures appear at the right and along the bottom of the table. Hence, in one table we have the entire problem and a solution. With such an organization of the problem, it may be possible to realize a better shipping plan by spending some time inspecting the table. 10 ELEMENTARY MATHEMATICAL PROGRAMMING From ^^ Chi cago Cleveland Dayton Minneapolis Supply Flint © 27 23 31 69 150 © © Janesville © 10 45 40 32 40 St. Louis ® 30 54 35 57 80 © Demand 90 70 50 60 \270 270^^ Fig. 1 . Distribution Table— Initial Solution For example, every unit shipped to Minneapolis from Janesville rather than from St. Louis will realize a savings of $25.00. How- ever, for every unit shipped by Janesville to Minneapolis, a unit must be shipped from St. Louis to Chicago at an increase in cost of $20.00. Such a change would then net a reduction in distribu- tion costs of $5.00 per unit. Since 40 units can be changed in this fashion, the total reduction in distribution costs will be $200.00, which certainly makes the time spent in inspection worth while. The improved solution would then be as given in Figure 2. The costs of the two solutions can be quickly compared by cal- culating the total distribution costs (Tables 1 and 2). ^\To From ^s. Chicago Cleveland Dayton Minneapolis Supply Flint 27 23 31 69 150 ® © ® Janesville 10 45 40 32 40 © St. Louis 30 54 35 57 80 (60) © Demand 90 70 50 60 \. 270 270\. Fig. 2. Distribution Table— an Inspection Solution DISTRIBUTION METHODS 11 Table 1. Initial Solution From To No. of Units Cost per Unit Total Cost Flint Chicago 30 $27.00 $ 810.00 Flint Cleveland 70 23.00 1610.00 Flint Dayton 50 31.00 1550.00 Janesville Chicago 40 10.00 400.00 St. Louis Chicago 20 30.00 600.00 St. Louis Minneapolis 60 57.00 3420.00 270 units $8390.00 Total distribution c Table 2. Inspection Solution From To No. of Units Cost per Unit Total Cost Flint Chicago 30 $27.00 $ 810.00 Flint Cleveland 70 23.00 1610.00 Flint Dayton 50 31.00 1550.00 Janesville Chicago 40 32.00 1280.00 St. Louis Chicago 20 30.00 1800.00 St. Louis Minneapolis 60 57.00 1140.00 270 units $8190.00 Total distribution cost The inspection solution shows a savings of $200.00 over the initial solution. However, is this solution the very best? Further inspection, much like that used to improve the initial solution, might yield further improvement in the shipping program if such is possible. Simple distribution problems may be reasonably easy to solve by relatively informal inspection techniques. However, this type of approach is totally useless in more complicated problems. Hence, the real need is for an organized and more systematic procedure to optimize distribution problems. Optimize is a term used to mean minimization of costs or maximization of profits whichever the case may be in a problem. "STEPPING-STONE" METHOD The "stepping-stone" method is one of the systematic methods for optimizing distribution problems. The basis and proof for this method will not be discussed here. However, we will be able to see how it does optimize via the previous problem. The stepping-stone method permits any size distribution problem to be systematically solved with the very best solution resulting. 12 ELEMENTARY MATHEMATICAL PROGRAMMING The stepping-stone method and all other systematic methods use the previously presented distribution tables except that the form is now called a distribution matrix. Mathematically a matrix is an array of numbers— so is a distribution table. Hence it can be called a distribution matrix. In mathematical programming, costs are always assigned a nega- tive ( — ) sign, and profits are always assigned a positive ( + ) sign. This retains the same mathematics whether working with costs or profits, and will permit the same mathematics to be applied to maximizing profits and minimizing costs in distribution problems. The stepping-stone method is really little more than an inspec- tion method itself, and has been replaced, for the most part, by the modified-distribution method. However the stepping-stone method is the basis for and serves as a good introduction to the modified- distribution method. The distribution matrix for the problem discussed previously is shown in Figure 3. Note that the costs are now shown as negative numbers. The distribution matrix is a 3x4 array (i.e.; three warehouses and four customers). Matrices are generally dimensioned as mxn, where m is the number of rows and n is the number of columns. The northwest- corner initial solution will be used to begin the problem. The northwest- corner solution is one of arbitrary assign- ments beginning at the upper left corner of the matrix and assigning consecutively to the right and down until all assignments have been made. The northwest-corner initial solution for this problem is shown in Figure 4. sx \ TO From \. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 Janesville -10 -45 -40 -32 40 St. Louis -30 -54 -35 -57 80 Demand 90 70 50 60 \270 270\. Fig. 3. Distribution Matrix DISTRIBUTION METHODS 13 From ^s. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 @ (60) Janesville -10 -45 -40 -32 40 (JO) (30) St. Louis -30 -54 -35 -57 80 ® @> Demand 90 70 50 60 \270 270\. Fig. 4. Northwest-Corner Initial Solution In actual practice almost any initial solution could be used. However, for the present, the northwest-corner initial solution will be used. Several parts of Figure 4 can be named for easy reference. The supply and demand figures are commonly referred to as rim condi- tions. The circled numbers (assignments) are called stones. The squares containing a circled number (an assignment) will be called stone squares. The squares with no circled numbers will be called water squares. Basically then the problem is to move about the stones (circled assignments) until the distribution costs are mini- mum. Hence the name "stepping stone" applies rather well. If each square in the matrix is identified by its row and column loca- tion, then it will be easier to refer to the matrix. For example, square 24 would be the square in the second row and fourth column. In order to determine how and where to move the stones or assignments, the improvement possibility of the water squares must be investigated. Consider the improvement possibility of water square 13 (first row, third column). The improvement possibility can be most easily determined by examining the resulting changes in costs if one unit was assigned to that water square (in this case examining the costs if one unit was shipped from Flint to Dayton). Of course, if one unit was shipped from Flint to Dayton, it would be necessary to modify some of the other assignments in the ship- ping plan so as not to deviate from the rim conditions of the problem. In this particular situation, if a unit is shipped from Flint to Dayton (square 13), then one unit must be deducted from the ship- 14 ELEMENTARY MATHEMATICAL PROGRAMMING merit from Flint to Cleveland (square 12). Similarly, if one less unit is sent from Flint to Cleveland, then one more unit must be sent from Janesville to Cleveland. Finally, if one unit more is sent from Janesville to Cleveland, then one unit less can be sent to Dayton. This last item is satisfactory since Dayton is receiving one more unit from Flint. These changes in the shipping program can be much more readily seen in Figure 5. From \. Chicago Cleveland Dayton Minneapolis Supply Flint -27 - -23 + -31 -69 150 (90) M Kjy - Janesville -10 + -45 - -40 -32 40 ®- -(30) ^Kjy St. Louis -30 -54 -35 -57 80 (20) © Demand 90 70 50 60 \270 270^^ Fig. 5. * Required Changes in Shipping Assignments to Evaluate the Improvement Possibility of Shipping from Flint to Dayton in Preference to the Initial Shipping Assignments The changes in the initial shipping assignments are noted in the matrix array by the plus and minus signs in the upper left-hand corner of squares 13, 12, 22, and 23. Note how these plus and minus signs indicate the required changes in the preceding para- graph. Note also that a plus and a minus sign appear in each of two rows and two columns. This permits changes in the shipping program which will still abide by the requirements of the respective rim conditions. Actually the changes in the shipping program can be more easily explained. In order to evaluate the improvement possibility of a selected water square, one must establish a closed path (moving horizontally and vertically only) from this water square via stone squares back to the same water square. A right-angle turn is made only at stone squares in the path, though the path may skip over stone and water squares. (This latter point does not occur at this time in the problem. However, it will be illustrated soon.) Alter- DISTRIBUTION METHODS 15 nate plus and minus signs are established along this path beginning with a plus sign in the selected water square. The path and the alternate plus and minus signs may be established either clockwise or counterclockwise; it makes no difference. Actually one could say that a closed path is established stepping only on stones at every turn in the path beginning at a selected water square. Hence the name "stepping-stone" method. In the particular problem at hand, the closed path could not include square 1 1 because one would soon have wet feet stepping in a water square in the first column. Ac- tually, if the initial solution has been properly established, one and only one closed path is possible for any water square. The improvement possibility or evaluation of water square 13 can be easily determined by examining the cost changes. The plus and minus signs along the closed path indicate where a unit will be added or subtracted and hence where a shipping cost will be accrued ( + ) or saved ( — ). Tabulating the costs will show the per unit gain or loss of this change in the shipping program. Costs Accrued Costs Saved $31 (square 13) $23 (square 12) 45 (square 22) 40 (square 23) $76.00 $63.00 Note: If the problem was expressed as profit, then the comparison would be profit gained versus profit lost. This change would then result in a net increase in shipping costs of $13.00 per unit. Obviously this is no improvement, and so square 13 can be temporarily set aside as offering no advantage at this stage of the problem. The investigation can then proceed to another water square. A similar analysis is conducted for every water square until one is found that shows improvement. Hence it is usually advisable to proceed in some orderly fashion, evaluating the water squares column by column or row by row (so as not to miss any) until a water square indicates possible improvement. It is usually a good idea also to erase the plus and minus signs in the closed path when a selected water square shows no improvement possibility. Another closed path of alternate plus and minus signs must be established in order to evaluate the improvement possibility of square 14. Figure 6 illustrates this closed path. It can be seen in Figure 6 that the closed path skips over two water squares, and affects several more shipments. In the analysis 16 ELEMENTARY MATHEMATICAL PROGRAMMING \. To From ^s. Chicago Cleveland Dayton Minneapolis Supply Flint -27 - -23 -31 + -69 150 (90) M N S Janesville -10 + -45 - -40 -32 40 (10). ,6C» * \jy St. Louis -30 -54 + -35 - -57 80 (20) _»(60) -^yvv, Demand 90 70 50 60 \270 27<)\. Fig. 6. Required Shipping Changes in Evaluating the Improvement Possibility of Square 14, Flint to Minneapolis for water square 13, three assignments in the shipping program were affected. In the analysis for water square 14, all but one of the shipping assignments in this problem are affected. This is due to the high degree of interrelationship between shipments, which is characteristic of problems of this kind, and is the major reason why most solution methods by inspection usually fail, particularly in more complex problems. The evaluation of water square 14 is: Costs Accrued Costs Saved $ 69 (square 14) 45 (square 22) 35 (square 33) $149.00 $ 23 (square 12) 40 (square 23) 57 (square 34) $120.00 Obviously then water square 14 offers no improvement at this time since the above change would accrue $29.00 more cost per unit. The analysis can then proceed to water square 21. The required changes in the shipping program to evaluate water square 21 are as shown in Figure 7. The evaluation is: Costs Accrued $10 (square 21) 23 (square 12) $33.00 Costs Saved $27 (square 11) 45 (square 22) $72.00 DISTRIBUTION METHODS 17 From ^v. Chicago Cleveland Dayton Minneapolis Supply Flint - -27 + -23 -31 -69 150 M > (60) ->K_y Janesville + -10 ^-O' -45 -40 -32 40 (10) (30) v_y w St. Louis -30 -54 -35 -57 80 @ ® Demand 90 70 50 60 \270 270\^ Fig. 7. Required Shipping Changes in Evaluating the Improvement Possibility of Square 21, Janesville to Chicago Water square 21 offers an improvement possibility of saving ).00 per unit shipped from Janesville to Chicago in preference to the initial shipping program. Rationally then one should attempt to ship as much as possible to attain the maximum possible gain. The number of units that can be changed is dictated by the smallest stone at a negative place in the closed path— ten units in this case. If any more than ten units are changed, the assignment in square 22 would become negative, implying that Cleveland would supply Janesville. Since this is unrealistic in the real problem, the stones (assignments) must be handled so they are all positive or zero. The shipping program is then improved by adding or subtracting the ten units as indicated by the signs in the closed path (illustrated in Figure 8). The shipping program is thus improved. The reduction in the shipping costs with this improved solution should be $390.00, since ten units were changed and the water-square evaluation indicated a $39.00 per unit reduction in cost. This can be easily verified by comparing the total costs of the initial and improved solution (Tables 3 and 4). This solution is best called the first improved solution since further improvement may yet be possible. The water squares in the first improved solution must then be evaluated in the same manner as described previously. Every water square, including the ones evaluated in the initial northwest corner solution, must be evaluated until one is found that yields an 18 ELEMENTARY MATHEMATICAL PROGRAMMING From ^\ Chicago Cleveland Dayton Minneapolis Supply Flint -@> -27 +© -23 -31 -69 150 ®L & Janesville + -10 - -45 -40 -32 40 <8> T®L ® St. Louis -30 -54 -35 -57 80 (20) © Demand 90 70 50 60 \270 270\. Fig. 8. Changes in Initial Shipping Program improvement possibility. The entire procedure is successively re- peated until finally all the water squares show no further improve- ment. The optimum shipping program is obtained when no further improvement is possible in any water square. Table 3. Initial Northwest-Corner Solution Square No. of Units Cost per Unit Total Cost 11 90 $27.00 $2430.00 12 60 23.00 1380.00 22 10 45.00 450.00 23 30 40.00 1200.00 33 20 35.00 700.00 34 60 57.00 3420.00 Total $9580.00 Square No. of Units Cost per Unit Total Cost 11 80 $27.00 $2160.00 12 70 23.00 1610.00 21 10 10.00 100.00 23 30 40.00 1200.00 33 20 35.00 700.00 34 60 57.00 Total 3420.00 $9190.00 DISTRIBUTION METHODS 19 From ^s. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 @> ® Janesville ® -10 -45 -40 -32 40 ® St. Louis -30 -54 -35 -57 80 @ ® Demand 90 70 50 60 ^.270 270 X \ Fig. 9. First Improved Shipping Program The basic parts of the stepping-stone method can be summarized into a step-by-step procedure as follows: 1. Express the problem in a distribution matrix array. 2. Establish an initial solution. (Note: Use the Northwest-corner initial solution for the time being. Later on, any initial solution can be used.) 3. Evaluate the water squares one by one in an orderly fashion (either row by row or column by column) until one is found that shows an improvement possibility. a. Establish a closed path (moving horizontally and vertically only) from the selected water square via stone squares back to the same water square. A right-angle turn is made only at stone squares, though the path may skip over stone and water squares. There will be one and only one such closed path for each water square in any particular shipping assignment. b. Establish alternate plus and minus signs on this path, starting with a plus in the selected water square. (Note: The closed path and the alternate plus and minus signs may be established either clock- wise or counter-clockwise. It makes no difference.) c. Determine the improvement possibility by comparing the costs accrued (indicated by + places in the closed path) and the costs saved (indicated by — places in the closed path). d. If no improvement exists, then repeat step 3 with another water square. 20 ELEMENTARY MATHEMATICAL PROGRAMMING 4. When a water square is found that shows an improvement possibility then add or subtract (as indicated by the signs on the closed path) the amount of the smallest stone at a negative place in the path. 5. Repeat steps 3 and 4 until no further improvement is possible. The solution is then optimum. The stepping-stone method then is a rather simple iterative 13 method. However, one can see how this method can become rather tedious in larger more complex problems. The modified-distribution method, while it is based upon and uses much the same terminology as the stepping-stone method, is a considerably more efficient method for solving distribution problems. THE MODIFIED-DISTRIBUTION METHOD The modified-distribution method (this will be abbreviated MODI method from here on) is very similar to the stepping-stone method except that it offers a more efficient means of determining the water-square evaluations. The MODI method can be most easily described via the preceding distribution problem. Here, as with the stepping-stone method, the initial solution will be the rather arbitrary northwest-corner solution. Later on more freedom is allowed in establishing an initial solution. XS \ T ° From ^^ Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 ® © Janesville -10 -45 -40 -32 40 @ @> St. Louis -30 -54 -35 -57 80 @ @ Demand 90 70 50 60 \270 270\. Fig. 10. Initial Northwest-Corner Solution 13 To iterate means to repeat. Hence a method where the same procedures are used over and over again is an iterative one. DISTRIBUTION METHODS 21 The MODI method deviates from the stepping-stone method in that, once an initial solution is established, then a number is cal- culated for each row and column. This number depends upon the particular solution and the cost factors of the problem and is used to evaluate the water squares. If we let R and K stand for the row and column values and attach a subscript to denote the specific row and column, then R t = numerical value assigned to row i and Kj = numerical value assigned to column j If we also let C^ = cost in square ij (the square at the junction of row i and column j ) then it is possible to establish the R t and Kj values by the formula: R t + K i = cost (or profit) at stone square ij In the problem at hand, the relationships for determining the R and K values are: 1. R l + K x = Cn (cost at stone square 11) and, since there is a stone in square 12, 2. R 1 + K 2 = C 12 and, similarly, O. t\>2 I -**-2 ~~ ^22 4. R 2 + K 3 = C 23 5. R 3 + K 3 — C 33 6. R 3 + K 4 = C 34 This exhausts the occurrences of stone squares. Note that the square number, the subscripts on the costs, and the R and K sub- scripts check. This assures that the cost being considered is the one at the junction of the specific row and column. This type of notation (subscripts i for row and 7 for column) is rather common in matrix work. The statement R x + K 4 = C 14 is not true, since square 14 is a water square and not a stone square. The various costs (C 4 /s) can be read from the distribution matrix. Hence the above equations present seven variables com- bined in only six equations. In order to establish the R and K 22 ELEMENTARY MATHEMATICAL PROGRAMMING values, it is necessary to assume a value for an R or a K. This is completely legitimate since the significance of the R and K values is not their absolute numerical value but rather their interrelated values. It will be shown later how any value for any R or K will not affect the subsequent analysis. Here the R 1 value will be assumed as zero. This will be done throughout the succeeding discussion. If then, from (1), Likewise, from (2), R 1 = Ki = Cn — i?i = K x = -27 27-0 K 2 — C 12 — R\ — — 23 — K 2 = -23 and similarly so the R and K values are R. x = 0, R 2 = -22, rtc -17, K t = -27 K 2 = -23 K 3 = -18 K 4 = -40 It does not hold true that the R and K values will always be negative. They may be positive, negative, or zero, depending on the problem. The distribution matrix with the R and K values included is shown in Figure 11. From ^s. K, = -- -27 K 2 = : -23 K 3 = = -18 K< = -40 Supply R, =0 @> -27 ® -23 -31 -69 150 R 2 = -22 -10 ® -45 ® -40 -32 40 R 3 = - 1 7 -30 -54 (20) -35 © -57 80 Demand 90 70 50 60 \270 270\^ Fig. 1 1. Initial Solution— R and K Values Established DISTRIBUTION METHODS 23 Practice at computing R and K values will show that this can usu- ally be done mentally instead of writing out the equations as above. With all the R's and K's computed, the next step is to evaluate each water square. This is accomplished in the following manner: R + K — (cost) = water-square evaluation If the result is positive ( + ), then no improvement possibility exists in that water square. If the result is negative ( — ), then further improvement is possible. Each water square can then be evaluated as shown in Table 5. Table 5 r Square Equation Improvement 13 R> + K 3 - C 13 = + (-18) - (-31) = +13 No 14 R 1 + K 4 - C 14 = + (-40) - (-69) = +29 No 21 R 2 + K X - C 21 = (-22) + (-27) - (-10) = -39 Yes 24 R 2 + K 4 — C 24 — -22 + (-40) - (-32) = -30 Yes 31 R 3 + K t -C 31 -17 + (-27) - (-30) = -14 Yes 32 xv 3 + K 2 — C/ 32 = -17 + (-23) - (-54) = +14 No This indicates that three water squares show improvement pos- sibility. Any of these three could be selected to improve the solu- tion. However, if the water square with the most negative evalua- tion is selected, then the best solution will generally be obtained most rapidly. The water-square evaluation here is exactly the same as that obtained with the stepping-stone method. In the stepping-stone method, the evaluation for water square 13 was: Costs Accrued Costs Saved -31 (square 13) -23 (square 12) -45 (square 22) -40 (square 23) -76 -63 24 ELEMENTARY MATHEMATICAL PROGRAMMING If in this analysis we always subtract the costs accrued from the costs saved (or profits gained from profits lost), the same water- square evaluation (same value and same sign) will always result. Water square 21 has the greatest negative evaluation and will therefore be used to improve the solution. The closed path with alternate plus and minus signs is then established, and the solution is improved in the same manner as in the stepping-stone method. The closed path and the changes in the initial assignments are illustrated in Figure 12. Note that the initial assignments have been crossed out and the new assignments made. Note also that the rim conditions (supply and demand) are still met. This change in the solution essentially involved adding and subtracting the same quantity from each of two rows and two columns, thereby leaving the rim conditions unchanged. \ To From ^v. K, = = -27 K 2 = : -23 K 3 = = -18 K 4 = -40 Supply R, = m -27 -23 -31 -69 150 R 2 = -22 ® -10 - 1 -45 © -40 -32 40 R 3 = -17 -30 -54 @ -35 © -57 80 Demand 90 70 50 60 \270 270\. Fig. 12. Changes in Initial Assignments Thus far the MODI method has accomplished the same improve- ment as was obtained with the basic stepping-stone method. The first improved solution (Figure 13) will have a total cost of $390.00 less than the initial solution. The amount of improvement will always be equal to the water-square evaluation times the number of units moved. Changing the solution makes some if not all of the R and K values incorrect. New values for R and K must be established in order to determine if further improvement is possible. The formulas for the R and K values may be written out, or the R and K values may be calculated mentally and placed on the distribution matrix. DISTRIBUTION METHODS 25 \ To From ^n. K, = K 2 = K 3 = K 4 = Supply R, =0 ® -27 © -23 -31 -69 150 R 2 = ® -10 -45 -40 -32 40 ® R 3 = -30 -54 -35 © -57 80 ® Demand 90 70 50 60 \270 270^^^ Fig. 13. First Irr proved Solution \. To From \. K, = = -27 K 2 = : -23 K 3 = -57 K 4 = -79 Supply R, = (§) -27 © -23 -31 -69 150 R 2 = + 17 © -10 -45 -40 -32 40 ® R 3 = + 22 -30 -54 -35 © -57 80 <§> Demand 90 70 50 60 V 270 270^^ Fig. 14. First Improved Solution with R and K Values Figure 14 shows the first improved solution and the proper R and K values. Note that the R and K values are not all negative as with the initial solution. The water-square evaluations can now be made, using the rela- tionship R + K - cost at a water square (Table 6). Since water square 24 shows the greatest improvement possibility, this will be used to improve the solution. With practice, the water- square evaluations can be accomplished mentally, thereby greatly speeding the solution process. Next, it is necessary to establish the closed path beginning with the selected water square 24 and moving via stone squares back to 26 ELEMENTARY MATHEMATICAL PROGRAMMING square 24. Alternate plus ( + ) and minus ( — ) signs are assigned along this path as illustrated in Figure 15. Table 6 Water Square Relationship Improvement 13 R 1 + K z — C 13 = + (-57) - (-31) = -26 Yes 14 22 24 31 32 R x + K 4 - C u + (-79) - (-69) = -10 Ix 2 + -ft-2 ^22 — 17 + (-23) - (-45) = +39 R 2 + K 4 — C 24 = 17 + (-79) - (-32) = -30 22 + (-27) - (-30) = +25 R 3 + K 2 — C 32 = 22 + (-23) - (-54) = +53 Yes No Yes No No \. To From \. K, = = -27 K 2 = : -23 K 3 = = -57 K 4 = -79 Supply R, =0 ® -27 © -23 -31 -69 150 R 2 = +17 ® -10 -45 t© -40 + -32 40 R 3 = +22 -30 -54 @ -35 l@ -57 80 Demand 90 70 50 60 \270 270^^^ Fig. 1 5. Solution Improvement Again the amount to be moved must be determined; in this case 30 units from square 23. The amount to be moved is the smallest stone at a negative place along the closed path. Placing this amount (30 units) in square 24 and adding and sub- DISTRIBUTION METHODS 27 tracting this amount from the stones along the path will yield the second improved solution. These changes are illustrated in Figure 16. From ^s. K, = K 2 = K 3 = K 4 = Supply R, =0 <§> -27 © -23 -31 -69 150 R 2 = ® -10 -45 -40 ® -32 40 *,= -30 -54 ® -35 © -57 80 Demand 90 70 50 60 \270 270X. Fig. 16. Second Improved Solution Here, as before, the savings, reduction in distribution costs, can be easily verified by calculating and comparing the costs for the first and second improved solutions. The reduction in cost here is $900.00. Again the entire procedure is repeated. Mathematically this is called iteration, this step beginning the third iteration. The R and K values are established, and the water-square eval- uations are computed. Then the closed path is selected as shown in Figure 17. Note that the water-square evaluations have been marked just below the cost box in each water square. Since the solution method is concerned with only negative water-square evaluations, these are the only ones noted. The rest are merely denoted by the plus ( + ) sign. Water square 31 has the greatest negative evaluation. The closed path is illustrated, and the alternate plus and minus signs are established along this path. The amount to be moved is the smallest stone at a negative place on the closed path— in this case 10 units. The revisions can now be made and the third improved solution (Figure 18) will result. Again the same process is followed in establishing R and K values and then evaluating the water squares. This is presented 28 ELEMENTARY MATHEMATICAL PROGRAMMING \. To From ^\ K, = : -27 K 2 = -23 K 3 = -27 K 4 = -49 Supply R, = ® -27 -23 -31 -69 150 © + + R 2 = + 1 7 T® -10 -45 -40 M -32 40 * + + R 3 = -8 + -30 -54 -35 - 1 -57 80 -5<_ + J5§_ \Jy Demand 90 70 50 60 \270 270 X \ Fig. 17. Second Improved Solution with Third Improvement Shown \ To From \^ K, = K 2 = K 3 = K 4 = Supply R, =0 ® -27 © -23 -31 -69 150 R 2 = -10 -45 -40 © -32 40 R 3 = ® -30 -54 @ -35 (20) -57 80 Demand 90 70 50 60 \270 270\. Fig. 18. Third Improved Solution in Figure 19. Since the water-square evaluation of square 13 is the only negative one, then it is used to further improve the solution. The closed path is also shown. The changes are then made by moving 50 units so that the fourth improved solution appears as in Figure 20. The same process of establishing R and K values and evaluating the water squares is repeated again. However, this time all the water-square evaluations are positive, indicating that no further improvement is possible in the solution. Consequently, the fourth DISTRIBUTION METHODS 29 \. To From ^s. K, = -27 K 2 = -23 K 3 = = -32 K 4 = -54 Supply R, =0 - -27 -23 + -31 -69 150 ' @ ^toy -1 + vjy R 2 = +22 -10 -45 -40 © -32 40 + + + R 3 = -3 + -30 -54 1® -35 © -57 80 ® + ^ Demand 90 70 50 60 \270 270\^ Fig. 19. Third Improved Solution with Fourth Improvement Shown "\ To From n. K, = K 2 = K 3 = K 4 = Supply R, = @ -27 © -23 ® -31 -69 150 R 2 = -10 -45 -40 © -32 40 Rb = © -30 -54 -35 © -57 80 Demand 90 70 50 60 \270 270^^^ Fig. 20. Fourth Improved Solution improved solution is really the optimum (lowest distribution cost) solution. Summary— The Basic MODI Method. The optimum solution to the problem presented here could be obtained readily by inspection. However, the modified-distribution (MODI) method is a method that can be employed to solve distribution problems of any size and degree of complexity. It is to be noted that every change made at the various stages of the MODI solution to the problem was rectangular— the closed 30 ELEMENTARY MATHEMATICAL PROGRAMMING path had just four corners and never crossed itself. This does not have to be so. If, in the first improvement of the solution, water square 31 were selected, then the closed path would be as shown in Figure 21. \ To From ^s. K, = K 2 = K 3 = K 4 = Supply R, =0 m -27 + -23 -31 -69 150 R 2 = -10 w -45 + -40 -32 40 R 3 = + -30 -54 \® -35 © -57 80 < Demand 90 70 50 60 \270 27u\. Fig. 21. A Closed Path for Square 31 The problem discussed here involved costs. If a problem with profit figures had been used, exactly the same mathematics would apply. Since profit will be shown as positive numbers, the mathe- matics will maximize the total profit. Some practice at several problems should serve to clarify this. Actually the techniques of mathematical programming are algebraically maximizing methods. Mathematically speaking, to maximize a negative quantity alge- braically is to minimize the absolute value of that quantity. A definite significance can be attached to the water-square eval- uations. As previously pointed out, the water-square evaluation can be used to predict the savings for each step toward the solution. The water-square evaluations in the final solution may be useful in developing alternative solutions, either equally optimum or less- than-optimum solutions. This will be explained later. The basic MODI method can then be summarized in the following steps: 1. Establish the problem matrix. 2. Determine (temporarily at least) the northwest-corner initial solution. 3. Establish R and K values. R, = R + K = cost (profit) at a stone square DISTRIBUTION METHODS 31 4. Evaluate the water squares. R + K — cost (profit) at a water square If the result is ( + ), then no improvement is possible. If the result is ( — ), then further improvement is possible. 5. Select the water square with the most negative evaluation. 6. Establish the closed path (moving horizontally and vertically only) from this water square via stone squares and back to the same water square. A right-angle turn is made only at stones in the path. The path may skip over stone and water squares. There will be one and only one such closed path. 7. Place alternate plus ( + ) and minus ( — ) signs on the path starting with a plus ( + ) at the selected water square. 8. Select the amount to be placed in the selected water square as the smallest stone at a negative place on the closed path. 9. Place that smallest stone in the selected water square. 10. Add or subtract (according to the sign along the closed path) the amount of the smallest stone (step 8) from every stone along the closed path. 1 1. Repeat steps 3 through 10 as often as necessary until no negative water square evaluations exist. At that time the optimum answer is obtained. VARIATIONS AND RESTRICTIONS The problem discussed in the preceding section had supply equal to demand. In actual practice, this is seldom if ever so. Several situations such as unequal supply and demand and other restrictions will be illustrated and discussed here. Unequal Supply and Demand. The situation where supply exceeds or is less than demand is often encountered in distribution problems. Consider the same problem as the one discussed previously except with the supply at Flint reduced to 140 units. This is shown in Figure 22. The initial northwest-corner solution would then be as shown in Figure 23. It can be seen from the initial northwest-corner solution that the customer at Minneapolis is arbitrarily short 10 units on his order. Application of the MODI method then will always result in the customer at Minneapolis being short 10 units. It would be better if the mathematics of the problem were allowed to determine who is to be short on his (their) order(s). This can be accomplished by adding another row to the matrix as shown in Figure 24. 32 ELEMENTARY MATHEMATICAL PROGRAMMING \ To From ^s. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 140 Janesville -10 -45 -40 -32 40 St. Louis -30 -54 -35 -57 80 Demand 90 70 50 60 \: 260 270^^ F ig. 22. Distril >ution Matrix- Unequal Supply and Demand \. To From \. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 140 @> <§) Janesville -10 -45 -40 -32 40 <§) @ St. Louis -30 -54 -35 -57 80 (30) <§> Demand 90 70 50 60 S \260 270^^^ Fig. 23. Unequal Supply and Demand— Initial Northwest-Corner Solution This new row is designated as a dummy warehouse supplying 10 nonexistent units. The zero costs are assigned, since the units do not exist and hence will never be distributed. This dummy ware- house can now distribute the 10 nonexistent units to any customer(s), which in essence means that any customer may be short-changed on his order. The addition of the dummy warehouse and its supply also balances the rim conditions (supply and demand) of the prob- lem. The rim conditions must be balanced before the solution method can be applied successfully. The dummy row is handled as any other row in the problem matrix. The initial problem was 3 X 4 (3 rows by 4 columns) and DISTRIBUTION METHODS 33 \ To From ^^ Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 140 (90) © Janesville -10 -45 -40 -32 40 @ (20) St. Louis -30 -54 -35 -57 80 (3d) (50) Dummy 10 ® Demand 90 70 50 60 \270 270\ Fig. 24. Initial Solution— Rim Conditions Balanced is now 4x4. The MODI method can now be employed to deter- mine the lowest-cost solution which will also determine how the shortage in supply will be allocated to the customers. In this particular problem it so happens that the customer at Minneapolis is short 10 units on his order. The optimum solution for this problem is shown in Figure 25. \. To From N. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 140 ® (70) (50) Janesville -10 -45 -40 -32 40 © St. Louis -30 -54 -35 -57 80 @ ® Dummy 10 © Demand 90 70 50 60 X \270 270N. Fig. 25. Optimum Solution 34 ELEMENTARY MATHEMATICAL PROGRAMMING Much the same procedure would be followed if supply were greater than demand. In such a situation, a dummy customer (dummy column) with suitable product demand will be created. The unutilized or undistributed supply is used to satisfy this dummy customer demand. This type of problem can easily be expanded to include the inventory costs at the various warehouses if they differ significantly. Other Restrictions. The distribution methods permit many other restrictions to be considered. For example: Assume in the pre- ceding problem of unequal supply and demand that management says that the customer at Minneapolis cannot be short on his order. This factor can be included in the problem by merely assuming a prohibitively large distribution cost from the dummy warehouse to the Minneapolis customer. The cost used is — M. The factor — M is defined as so large that it dominates all else in the problem. Two approaches are possible when solving such a problem. They are: 1. Include all the restrictions in the initial formulation of the problem. The solution obtained will be the one required. 2. Formulate and solve the somewhat less restricted problem; then assess the solution in terms of the additional restrictions. The second approach can provide slightly more information about the solution. If, for example, the above problem had been stated initially with the added restriction that both Chicago and Minneapolis must receive their entire orders, then the first approach would require a — M cost to be established in the dummy row for the first and fourth columns. The solution would then be the one that management requires. If, however, the second approach were used, the dummy would be set up with all zero cost elements, and the economics of the problem would dictate who is to be short on his order. This would be a somewhat less restricted formulation. If either Chicago or Minneapolis were shortchanged in the optimum solution for this formulation, then the — M cost factor could be in- serted and a proper optimum solution obtained. However, this second approach, while it yields the same solution, also provides additional information from the less restricted solution. It is pos- sible to show any increase in distribution costs due to the additional restrictions. This information can serve as a guide to better man- agement decisions on this and perhaps future problems. There are many points both pro and con for the two approaches. DISTRIBUTION METHODS 35 Actually the objective of the problem and the preference of the individual will determine which approach is taken. Either ap- proach will yield the optimum solution but not necessarily the same total evaluation of the problem. In general, whenever a possible course of action is arbitrarily canceled, the — M cost factor can be employed in the distribution matrix. This is further illustrated in the following problem. Consider a distribution problem in which a factory supplies three distributorships who in turn supply the customers with the product. The data are as follows: Factory supply 250 units Distributorship capacity: Flint 150 units Janesville 40 units St. Louis 80 units 270 units capacity Customer requirements Chicago 90 units Cleveland 70 units Dayton 50 units Minneapolis 50 units 260 units required Distribution costs from the various distributorships to the cus- tomers are the same as in the previously discussed problem. The problem is then to determine how to distribute the factory supply to the customers via the distributorships so that the total distribu- tion costs are a minimum. Inspection of the preceding information will reveal two conditions that must be included in the problem formulation. These are: 1. Ten units of customer demand must be left unsatisfied because the factory supply is only 250 units. 2. Twenty units of distribution capacity will be unutilized, again because the factory supply is only 250 units. Each of these situations can be included in the problem matrix. A dummy distributor with a supply of 10 units will accomplish the first condition. A dummy customer with a demand of 20 units will accomplish the second condition. These are illustrated in Figure 26. Note the costs that have been assigned to the dummy distributor 36 ELEMENTARY MATHEMATICAL PROGRAMMING \ To From N. Chicago Cleveland Dayton Minneapolis Dummy Capacity Flint -27 -23 -31 -69 150 Janesville -10 -45 -40 -32 40 St. Louis -30 -54 -35 -57 80 Dummy -M 10 Demand 90 70 50 50 20 \280 280\ Fig. 26. Distribution Matrix— Restricted Factory Supply and customer. The — M cost has been assigned for C 45 (fourth row, fifth column) for two reasons. These are: 1. The dummy distributor must distribute its supply of nonexistent units to the real physical customers. 2. The dummy customer must be satisfied by the real physical distributors. This formulation will accomplish the restrictions of the problem. Note how the — M cost factor is used to cancel out a possible course of action. This problem is interesting from another standpoint. Initially one might be prone to think that the totals for the rim conditions cannot exceed 270 units, when in reality the rim condi- tions can total to almost any quantity so long as they balance. The optimum solution to the problem shown in Figure 26 is as follows: Customer No. of Units From Chicago 30 Flint 60 St. Louis Cleveland 70 Flint Dayton 50 Flint Minneapolis 40 Janesville Total 250 The customer at Minneapolis is short-changed 10 units, and the distributor at St. Louis has 20 units of capacity unutilized. This DISTRIBUTION METHODS 37 problem does exhibit the fact that some logic and reasoning are required in balancing the rim conditions. One cannot merely add a dummy row or column with a suitable quantity to make the rim conditions balance. If only one dummy were used in the above problem, it would be possible to balance the rim conditions. How- ever the distribution matrix would not be a valid representation of the problem. Often it pays to note the conditions or results that must be obtained in a problem (i.e.; customers short 10 units; dis- tributors 20 units below capacity) prior to establishing the distri- bution matrix. Degeneracy. When a distribution problem is said to be degenerate, the problem may cycle (go around in circles) and never attain an optimum or the problem may collapse before an optimum solution is obtained. Obviously this can be caused by errors in the work. However, it may be caused by the nature of the particular problem. In distribution problems, degeneracy can be caused by similar rim conditions and is evidenced by an insufficient number of stones. Consider one of the previous problems with slightly modified rim conditions as shown in Figure 27. \. To From ^^ Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 Janesville -10 -45 -40 -32 40 St. Louis -30 -54 -35 -57 80 Demand 90 60 60 60 \270 27u\^ Fig. 27. A Degenerate Problem The northwest- corner initial solution would then be as shown in Figure 28. The degeneracy will be evident in attempting to establish R and K values. If R x =0, then K t and K 2 can be determined. Here it is impossible to proceed further. Note that the stair-step pattern 38 ELEMENTARY MATHEMATICAL PROGRAMMING From ^s. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 ® @ Janesville -10 -45 ® -40 -32 40 St. Louis -30 -54 -35 -57 80 © @> Demand 90 60 60 60 \270 270\^ Fig. 28. Degenerate Problem— Initial Northwest-Corner Solution of the usual northwest-corner solution is missing. Actually the problem matrix can be partitioned into two disconnected parts. The degeneracy can be resolved by inserting a zero stone (©) wherever needed. Here it can be inserted in square 22 as shown in Figure 29. The remaining R and K values can now be determined. The zero stone is handled the same as any other stone in the matrix. The zero stone means nothing as far as the real physical problem is concerned. It is merely a computational gimmick which permits the same solution method to still be applied and solve the problem. Actually there is considerable latitude concerning the placement S V To From \. K, = -27 Chicago K 2 = -23 Cleveland K 3 = Dayton K 4 = Minneapolis Supply R, = Flint -27 -23 -31 -69 150 © © R 2 = Janesville -10 -45 -40 -32 40 ® ® R 3 = St. Louis -30 -54 -35 -57 80 (§> ® Demand 90 60 60 60 "\. 270 270^^^ Fig. 29. Degeneracy Resolved DISTRIBUTION METHODS 39 of a zero stone in an initial solution. However, only the correct number of stones must be used. It can be seen from the previous examples that m + n — 1 (where m = number of rows and n = number of columns in a matrix) represents the correct number of stones or assignments. If less than m + n — 1 stones exist, as in Figure 28, then the problem is degenerate. 14 This statement applies similarly to any step in the solution method. When more than m + n — 1 stones exist, then an error has been made. The maximum possible degeneracy occurs in distribution prob- lems where the supply at each of the various warehouses is one unit and the demand for each customer is one unit. In problems with such unity rim conditions, many successive improvements via the MODI method may mean changing only the position of zero stones, resulting in no reduction in the total cost. However repeated application of the MODI method will still obtain the best solution. Distribution problems with unity rim conditions are more generally known as assignment problems. Several special techniques have been developed for solving assignment problems. However, they will not be covered here since the MODI method provides a suit- able means for solving these problems. Degeneracy can occur in an initial solution as in the previous example or at any step during the solution method or in the opti- mum solution. Consider the problem in Figure 30 to illustrate degeneracy encountered during the solution. From ^^\^ K, = -3 K 2 = - -4 K 3 = -3 Supply R, = ® -3 ® -4 -5 10 + R 2 = -3 -8 © -7 -6 9 + (z) R 3 = -3 -2 -' -6 2 -4 -3 © Demand 2 10 9 21 Fig. 30. A Degenerate Problem 14 See G. B. Dantzig, "Application of the Simplex Method to a Transportation Problem" in Koopman's Activity Analysis of Production and Allocation, p. 360. 40 ELEMENTARY MATHEMATICAL PROGRAMMING Square 31 (third row, first column) has. the greatest negative water-square evaluation. If it is selected to improve the solution, then the closed path is as shown in Figure 31. The improved solution would then be as shown in Figure 32. From ^^«. K, = -3 K 2 = -4 K 3 = -3 Supply R, =0 -3 + -4 -5 10 "(?) -»(8) \ZJ -» \OJ R 2 = -3 -8 - -7 + -6 9 (o) ->(7) \U -* \Ls R 3 = -3 + -2 -4 -6 2 ,.(2) < Demand 2 10 9 21 Fig. 31. Changes in Initial Solution From ^"^^^^ K, = K 2 = K 3 = Supply R, = -3 © -4 -5 10 R 2 = -8 -7 ® -6 9 R 3 = ® -2 -4 -6 2 Demand 2 10 9 21 Fig. 32. Degenerate Improved Solution It canl)e seen from Figure 31 that the problem is now degenerate. There were five stones previously whereas there are only three now. To circumvent this degeneracy, two of the stones at a negative place in the closed path (Figure 31) should have been left as zero stones. This would present the improved solution as shown in Figure 33. DISTRIBUTION METHODS 41 ~"\To From ^"^^^ K, = +1 K 2 = -4 K 3 = -3 Supply R, = -3 -4 -5 10 ® R 2 = -3 -8 -7 '® -6 9 Co) R 3 = -3 -2 -4 ® -6 2 (2) Demand 2 10 9 21 Fig. 33. Improved Solution— Degeneracy Resolved Obviously several choices exist for selecting the position of the zero stone(s). An incorrect choice is indicated if in the next step of the MODI method the most negative water square is found to be one of the squares where the zero stone could have been placed. (In the problem shown in Figure 33, this would occur if water square 11 had the greatest negative evaluation.) If the MODI method is followed, the next step will undo what was done in the preceding step, or the problem will begin to cycle. This can be avoided by merely moving the zero stone and continuing with the MODI method. Another technique involves the insertion of a small quantity usually designated as e (epsilon). The e is added and subtracted from two rows and two columns when there are insufficient assign- ments. The epsilon is handled as any other regular assignment. In succeeding steps, the epsilon is removed as soon as a sufficient number of real assignments exist. This approach is considerably more difficult than using zero stones— particularly in hand compu- tation. However, the e must be used in machine computation because an electronic computor cannot distinguish between a zero where there is no assignment and an assignment of zero with a circle around it. Alternative Solutions. The water-square evaluations are used to improve the solution step by step, and can be used to determine the economics of alternative solutions. The water-square evaluations in the final (optimum) matrix indicate the per unit increase in cost or decrease in profit for all the possible alternative courses of 42 ELEMENTARY MATHEMATICAL PROGRAMMING action. If, in the final matrix one or more water-square evaluations are zero, then there are several equally optimum alternative solu- tions (several solutions with identical total cost or profit). Often the information about the cost or profit differential for the alter- native courses of action is as valuable to management as the optimum solution. Summary. The modified distribution (or MODI) method offers a relatively simple method of solving distribution-type problems. Subsequent chapters will expand the applications of this method to solving industrial problems. The MODI method is best summarized in the following steps: 1. Set up the problem distribution matrix. 2. Balance the rim conditions (supply and demand). 3. Establish an initial solution: a. Northwest-corner solution. b. Inspection solution. Note: The number of stones or assignments = m + n — 1 . 4. Establish R and K values: R, = R + K = cost or profit at an intersecting stone square a. Resolve degeneracy as may be necessary with zero stones (©). 5. Evaluate each water square. R + K — (cost or profit of the water square) a. If the above is positive ( +), then no further improvement exists in that water square at this step in the solution. b. If the above is negative ( — ), then further improvement is possible. 6. Select the water square with the greatest negative evaluation from step 5. a. Establish a closed path (moving horizontally or vertically only) from this selected water square via stone squares back to the same water square. A right-angle turn is made only at stones in the path. This path can skip over stone and water squares as may be neces- sary. There will be one and only one such closed path for a water square. b. Establish alternate plus ( + ) and minus ( — ) signs on this path, starting with a plus ( + ) in the selected water square. This will permit balanced rim conditions to exist. 7. Determine the amount to be placed in the selected water square. This will be the smallest stone at a negative place in the closed path. DISTRIBUTION METHODS 43 8. Make the necessary changes by adding or subtracting the selected amount from every stone in the path as indicated by the alternate plus and minus signs. 9. Re-establish R and K values as may be necessary. 10. Repeat steps 5 through 10 until all water-square evaluations are plus or zero. The interpretation of the water-square evaluations is as follows: 1. A positive number indicates the per unit increase in cost (or decrease in profit) that would result when a stone or assignment of one unit is placed in the water square and the necessary adjustments are made in the remain- der of the program. 2. A negative number indicates the per unit decrease in cost (or increase in profit) that would result when a stone or assignment of one unit is placed in the water square and the necessary adjustments are made in the remain- der of the program. 3. When one or more water-square evaluations are zero and the re- maining evaluations are all positive, then there exists one or more equally optimum alternative solutions to the problem. 4. Mathematically speaking, if two equally optimum solutions exist, then an infinite number of equally optimum alternative solutions exist for the problem. However, this is not true where the assignments are integers (whole numbers). Then a finite number of solutions will exist. The MODI method discussed here is completely general and applies equally well, regardless of the order of the various rows and columns. The discussion here dealt mainly with costs and profits. Actually any measure can be used. However, it must be recognized that all the mathematical programming methods are algebraically maximizing techniques. Hence, when something is to be maximized, it is expressed in positive numbers, and, if it is to be minimized, it must be expressed in negative numbers. Actually to maximize a negative number algebraically is to minimize the absolute value of that number. VOGEL'S APPROXIMATION METHOD In the preceding discussion it was noted that the work involved in solving distribution-type problems can be materially reduced if a better initial solution is obtained. Vogel's approximation method is a method whereby a very good initial solution to distribution- 44 ELEMENTARY MATHEMATICAL PROGRAMMING type problems can always be obtained. In fact, Vogel's approxima- tion method will yield the optimum solution initially in the majority of distribution problems. This method together with the MODI method can take much of the tedium out of solving distribution problems. Vogel's approximation method (which henceforth will be abbre- viated VAM) was developed in late 1955 as the result of informal research by W. R. Vogel. 15 The method was, to a large extent, intuitively developed, and, though it has no formal mathematical proof, it has proved its value and validity in solving many distri- bution-type problems. The VAM will be presented via the same problem used to illus- trate the basic MODI method. The distribution matrix for the problem is shown in Figure 34. \. To From ^s. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 Janesville -10 -45 -40 -32 40 St. Louis -30 -54 -35 -57 80 Demand 90 70 50 60 \. 270 270^^ Fig. 34. Distribution Matrix The VAM can best be presented in a series of steps which will be applied to the problem represented in Figure 34. 1 . Determine the differences (absolute differences) between the two most (algebraically) maximum elements (cost or profit values) for each row and each column of the matrix. 15 W. R. Vogel, Chief, Training Branch, Ordnance Management Engineering Training Program, Rock Island Arsenal, and also associated with N. V. Reinfeld in the National Institute of Management, management consultants with headquarters in Cleveland, Ohio. DISTRIBUTION METHODS 45 The calculation for the first column would be as follows: Most maximum element — 10 Second most maximum element —27 Difference 17 The difference may be noted at the top or bottom of the first column. We prefer to note the difference above the column outside the boundaries of the matrix so as not to confuse the VAM numbers and subsequent K values. The sign of the difference is of no con- sequence since the VAM uses the absolute values of the differences calculated. The calculation for the second column would be as follows: Most maximum element —23 Second most maximum element —45 Difference 22 This too can be noted at the top of the second column. The calculations are continued for every column and row. The calcu- lation for the first row would be as follows: Most maximum element —23 Second most maximum element —27 Difference 4 This may be noted at either end of the row. We prefer here to note the differences for the rows to the right of the row and out- side the boundaries of the matrix so that these differences will not be confused with the values in the rim conditions or with subsequent R values. All the row and column differences are noted in Figure 35. 2. Select the row or column with the greatest difference. In the problem at hand the fourth column would be so selected. 3. Assign as much as possible to the square with the most (algebraically) maximum element in that selected row or column. In this case, square 24 (second row, fourth column) has the most algebraically maximum element ( — 32), and hence 40 units would be assigned there as shown in Figure 36. It can be seen that to assign any less than 40 units would violate the statement of step three, and to assign any more than 40 units would exceed the supply at Janesville, thereby violating the rim conditions of the problem. 46 ELEMENTARY MATHEMATICAL PROGRAMMING 17 22 4 25 \ To From \w Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 Janesville -10 -45 -40 -32 40 St. Louis -30 -54 -35 -57 80 Demand 90 70 50 60 \270 270\^ Fig. 35. Distribution Matrix— VAM Differences Noted 17 22 4 25 22 \ To From ^v. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 Janesville -10 -45 -40 -32 40 © St. Louis -30 -54 -35 -57 80 Demand 90 70 50 60 \270 270\^ 22 Fig. 36. Distribution Matrix— One Assignment Made by the VAM 4. Cross out the row or column completely utilized or satisfied by the assignment. In this problem the second row would be crossed out since it has been completely utilized by this assignment. In crossing out a row or column, care should be taken to do this rather lightly since the crosses will be erased later. 5. Redetermine the differences as may be necessary, but omit the row(s) and column(s) crossed out. DISTRIBUTION METHODS 47 In the problem at hand this would mean to redetermine the dif- ferences, omitting the second row of the matrix. The difference for the first column would be calculated as follows: Most maximum element — 27 Second most maximum element —30 Difference 3 Obviously this is the only possible difference for the first column since only two squares exist for consideration. The remaining differences can be calculated and noted as before. 3 31 4 12 "V To From ^^ Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 Janesville -10 -45 -40 -32 40 X X X ® St. Louis -30 -54 -35 -57 80 Demand 90 70 50 60 \270 270^\ ^ Fig. 37. Distribution Matrix— Step 5 of VAM Accomplished It can be seen in Figure 37 that the old row and column differ- ences are crossed out where they no longer apply. The difference for the second row (22) has been crossed out also since the second row is no longer available for consideration. 6. Repeat steps 2 through 5 until all assignments are made. Reapplying step 2 would cause the second column to be selected. The assignment would be 70 units in the first row, and the problem would appear now as shown in Figure 38. This second assignment will completely fill the demand repre- sented by the second column; hence that column is crossed out. Reapplying the VAM will yield the succeeding assignments as illustrated in Figures 39 and 40. 48 ELEMENTARY MATHEMATICAL PROGRAMMING 3 31 4 12 \. To From ^s. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 © Janesville -10 -45 -40 -32 40 X X X © St. Louis -30 -54 -35 -57 80 X Demand 90 70 50 60 \270 270\^ ^ Fig. 38. Distribution Matrix— Second Assignment Accomplished with VAM 3 12 ^V To From ^v. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 © X Janesville -10 -45 -40 -32 40 X X X © St. Louis -30 -54 -35 -57 80 X ® Demand 90 70 50 60 \270 270\ s ^ ^ Fig. 39. Distribution Matrix— Third Assignment with VAM After the fourth assignment has been made, it can be seen that the VAM can no longer be applied. However, only two squares (11 and 13) remain open, and these will permit the remaining assign- ments to be made merely by inspection. The complete assignments are shown in Figure 41. This completes the application of VAM. However, it does not necessarily complete the problem. DISTRIBUTION METHODS 49 3 \ To From \. Chicago Cleveland Dayton Minneapolis Supply Flint -17 -23 -31 -69 150 © X Janesville -10 -45 -40 -32 40 X X X © St. Louis -30 -54 -35 -57 80 © X X © Demand 90 70 50 60 "\270 270^^ Fig. 40. Distribution Matrix— Fourth Assignment with VAM 3 X ^ \. To From \. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 © © © Janesville -10 -45 -40 -32 40 © St. Louis -30 -54 -35 -57 80 ® © Demand 90 70 50 60 \270 270\^ ^ Fig. 41 . VAM Initial Solution 7. When all assignments have been made, then apply the MODI method to improve the solution to optimum as may be required. In the problem at hand, the MODI method will show that the optimum (minimum cost) solution has been obtained with the VAM and that no further improvement is possible (for further verification see Figure 20, page 29). If the optimum solution is not 50 ELEMENTARY MATHEMATICAL PROGRAMMING obtained with the VAM, then the MODI method would be applied until the optimum solution is obtained. Auxiliary Rules. The preceding discussion considers what may be called the basic VAM. With practice many auxiliary rules can be developed, such as the following: 8. When the greatest difference is obtained at the same time in both a row and a column, and the square at the junction of that row and column has the algebraically largest cost or profit element, then the assignment is made at that square common to both the row and column. If the square at the junction does not have the algebraically largest cost or profit element, then make an assignment in either the row or column wherever the alge- braically largest element exists. 9. When the greatest difference is obtained at the same time in two or more rows (or columns), then assign wherever the algebraically largest ele- ment exists in either row (or column). These are only two of many auxiliary rules. It does not seem advisable to burden a relatively simple approximation method with too many auxiliary rules. Experience with a class of distribution- type problems will lead to possible modifications and shortcuts. The VAM is an approximation method for an initial solution that will usually yield a solution at least very close to the optimum. Hence a long list of involved rules seems out of order. Degeneracy. Degeneracy can be detected when applying VAM. From the preceding discussion it can be seen that, when an assign- \. To From ^s. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 Janesville -10 -45 -40 -32 40 St. Louis -30 -54 -35 -57 80 Demand 90 70 70 40 \270 270^^. Fig. 42. A Degenerate Problem DISTRIBUTION METHODS 51 ment is made while applying VAM, either a row or column is fully utilized or satisfied with each assignment. Degeneracy is evident when both a row and a column are simultaneously fulfilled with one assignment. Consider a problem very similar to the one previously discussed but with slightly different rim conditions. Note that the demand for Dayton and Minneapolis have been slightly changed. Proceeding with VAM, the initial assignment would be as shown in Figure 43. 17 22 4 25 From ^s. Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 Janesville -10 -45 -40 -32 40 © St. Louis -30 -54 -35 -57 80 Demand 90 70 70 40 V \270 270 X \ 22 Fig. 43. Initial VAM Assignment It can be seen in Figure 43 that this initial assignment fulfills both a row and a column simultaneously. This indicates that the prob- lem is degenerate. Proceeding with the VAM would yield subse- quent assignments much similar to those of the preceding discussion. The VAM initial solution for the degenerate problem is shown in Figure 44. The VAM initial solution is now obviously degenerate (m + n — 1 assignments would mean 6 assignments— the problem has only 5 assignments). Degeneracy can now be resolved as indicated in the preceding discussion by the insertion of necessary zero stones. Degeneracy can also be resolved during the VAM. When a row and a column are simultaneously fulfilled, a zero stone may, at that time, be inserted in an available square in either the row or column fulfilled. In the specific problem a zero stone could have been placed in either the second row or the fourth column as soon as the initial assignment was made. 52 ELEMENTARY MATHEMATICAL PROGRAMMING \. To From ^^ Chicago Cleveland Dayton Minneapolis Supply Flint -27 -23 -31 -69 150 ® ® ® Janesville -10 -45 -40 -32 40 © St. Louis -30 -54 -35 -57 80 © Demand 90 70 70 40 \270 270^^^ Fig. 44. VAM Initial Solution The optimum solution to this degenerate problem illustrates an interesting phenomenon of degenerate-type distribution problems. Two optimum solutions (in the sense that the zero stone can appear in either of two positions in the matrix) exist for this problem. Although these two solutions in no way change the real shipments in the problem, it is interesting to note that the zero stone may appear in two (or possibly more) positions. Summary. Vogel's approximation method offers a very useful and most efficient means of obtaining an initial solution for distri- bution-type problems. The VAM can in effect mean economical From \w Ch K, = icago = -27 Cleveland K 2 = -23 Dayton K 3 = -31 Minneapolis K 4 = -49 Supply R, =0 Flint © -27 -23 -31 -69 150 © ® R 2 = +17 Janesville ® -10 -45 -40 -32 40 © R 3 = -3 St. Louis ® -30 -54 -35 -57 80 Demand 90 70 70 40 \270 270^^ Fig. 45. Optimum Solution— Degenerate Problem DISTRIBUTION METHODS 53 \ To From v. K, = -27 Chicago K 2 = -23 Cleveland K 3 = -31 Dayton K 4 = -54 Minneapolis Supply R, = Flint -27 -23 -31 -69 150 (IS) (70) @ R 2 = +22 Janesville -10 -45 -40 -32 40 ® R 3 = -3 St. Louis -30 -54 -35 -57 80 ® ® Demand 90 70 70 40 \270 270\^ Fig. 46. Another Optimum Solution— Degenerate Problem hand solution to many problems heretofore solvable only with computing equipment. The usefulness of VAM will be further illustrated in succeeding chapters where it will be applied to distri- bution-type problems. The VAM can be applied to distribution-type problems when the matrix is established and the rim conditions are balanced. The steps of the method are: 1 . Determine the differences (absolute differences) between the two most (algebraically) maximum elements (cost or profit values) for each row and each column of the matrix. 2. Select the row or column with the greatest difference. 3. Assign as much as possible to the square with the most (algebraically) maximum element in that selected row or column. 4. Cross out the row or column completely utilized or satisfied by the assignment. 5. Redetermine the differences as may be necessary, but omit the row(s) and column(s) crossed out. 6. Repeat steps 2 through 5 until all assignments are made. 7. When all assignments have been made, then apply the MODI method to improve the solution to optimum as may be required. Many supplementary or auxiliary rules have been developed, several of which are as follows: 8. When the greatest difference is obtained at the same time in both a row and a column, and the square at the junction of that row and column 54 ELEMENTARY MATHEMATICAL PROGRAMMING has the algebraically largest cost or profit element, then the assignment is made at that square common to both the row and column. If the square at the junction does not have the algebraically largest cost or profit element, then make an assignment in either the row or column wherever the alge- braically largest element exists. 9. When the greatest difference is obtained at the same time in two or more rows (or columns), then assign wherever the algebraically largest ele- ment exists in either row (or column). Degeneracy can be recognized and resolved when applying VAM in the following manner: 10. When a row and a column are simultaneously fulfilled with one assignment, the problem is degenerate. The degeneracy may be resolved at that time by inserting a zero stone in an available square in either the row or column. Resolving degeneracy as in step 10 can be accomplished in most cases by placing the zero stone merely by inspection. However, often the zero stone ends up in a square where intuition or inspec- tion would not normally place it. Vo gel's approximation method offers a very simple and easy routine that takes much of the work out of solving distribution problems. The VAM offers some interesting research possibilities. Research can be conducted to determine the mathematical basis for the VAM. It seems rational that such research can be success- fully accomplished. Once a mathematical basis is developed, it may then be possible to apply it toward obtaining a better initial solution for the simplex method. In the next chapter, the simplex method is presented, and it will be seen then that any means of improving the initial solution would certainly reduce the time and cost of the simplex method. MULTI-DIMENSIONAL DISTRIBUTION PROBLEMS The distribution problems considered up to now have been two- dimensional problems. However, it is possible to encounter distri- bution-type problems in three and more dimensions. These multi- dimensional problems can only be solved by the more general method of mathematical programming; the simplex method (dis- cussed in Chapter 3). This type of formulation and solution to distribution problems is very similar to going all around town to DISTRIBUTION METHODS 55 get to a destination when a short-cut (like the MODI method for two-dimensional distribution problems) is readily available. An approximation method, involving the deviation of the cost elements from a weighted row and column average, has been developed by Dr. B. A. Galler. 16 This method has the potential of being better than the YAM for certain distribution problems. However, it is an approximation, and no techniques have been developed to improve upon this approximation. Experience with several problems indicates that this approximation yields a solution that is 90 per cent or better of the optimum solution. Actually a serious question arises here as to which solution is truly optimum, when the very best solution costs considerably more to obtain than the approximate one. Here both the solution and the expense to obtain it must be considered. It may be well to consider how a third and a fourth dimension can be added to a distribution problem. The basic two-dimensional problem involved shipments between a number of origins and a number of destinations. This can be denoted by subscript nota- tion, where x^ = the number of units shipped from origin i to destination,/ A third dimension, various time periods, can be included where x ijk = number of units shipped from origin i to destination j in time period h A fourth dimension can be included if the distribution system has intermediate assembly or warehouse locations. Then, x ijk i = number of units shipped from origin i to destination j in time period k via intermediate warehouse I Still another dimension could be different items. Then, Xhijki = number of units of product h distributed from origin i to destination j in time period h via intermediate warehouse I It becomes evident that the multidimensional aspect of distri- bution-type problems is certainly more than mere theory and has many possible applications. The approximation solution to the multidimensional distribution 16 Galler, op. cit. pp. 2-3. This work is based on the work of P. S. Dwyer, op. cit. 56 ELEMENTARY MATHEMATICAL PROGRAMMING problem is based upon the general mathematical expression of the multidimensional distribution problem. For a three-dimensional problem, the general formulation would be as follows. If we let a t = the supply in units at source i bj = the demand in units at destination,/ d k = the capacity in units at intermediate warehouse k i = (1, 2, • • •, p t ) the sources j = (1, 2, • • •, p 2 ) the destinations k = (1, 2, • • •, p 3 ) the intermediate warehouses Pi P2 Ps N = S^ di = \ bj — y d k the grand total of the rim i-i j = i k=i conditions x ijk = number of units shipped from source i to destination j via intermediate warehouse k c ijk = cost per unit to ship from source i to destination j via intermediate warehouse k then the general form of the distribution problem would be to determine integers x ijk that will minimize Pi P2 P3 2 2 2**'*°*'* (1) i'=l 7 = 1 k=l subject to P2 Zj ^j Xijk i=l 7=1 = ^ fc Pi Ps Zj Zj x ^^ i=l fe = l P2 P3 =.6, (2) (3) 2 ^^'^ (4) 7 = 1 k = l These equations (each one of the last three actually represents an entire system of equations) can be rather easily interpreted as meaning: (1 ) Minimize the distribution costs. DISTRIBUTION METHODS 57 (2) Whatever is distributed from a source to a destination must equal the capacity of the intermediate warehouse. (3) Whatever is distributed from a source via an intermediate warehouse to meet a demand must be equal to the demand. (4) Whatever is distributed to various destinations via intermediate ware- houses from a source must equal the supply at that source. The approximation method then proceeds in the following steps: 1 . Calculate the weighted deviates of each cost element. For the above problem, if we let c' ijk = the weighted deviate, the formula for this calculation is _ Pl . P 2 . Pi P3 2 2 aib i Ci * + 22 aidkCijk i'=l 7 = 1 i=l k = l Pi Pz + 22 bjdkCii >=1 k=l C ijk — Cijk N 2 + N s Pi Ps 222 a *^* c «' i=l ;'=1 k = l 2. Assign as much as possible either to the square containing the alge- braic minimum of the deviates (when the problem involves costs to be minimized) or to the algebraic maximum of the deviates (when the problem involves profits to be maximized). 3. Cross out the row or column satisfied or utilized. 4. Repeat steps 2 and 3, neglecting those rows and columns crossed out, until all assignments have been made. Except for the bulk of computation in step 1, this approximation method is a relatively simple one. Obviously this method is not too well suited to hand computation and has been developed and programmed for automatic machine computation. Experience with several problems indicates that this approximation method is superior to the VAM, particularly in multidimensional and more complex distribution problems. The weighted deviates calculated by the above formula(s) actu- ally represent the difference between that particular cost element (c ijk ) and the grand weighted average. The last four terms of the equation represent the weighted averages. The first three repre- 58 ELEMENTARY MATHEMATICAL PROGRAMMING sent the weighted averages in each pair of the three dimensions. The very last term is much like a weighted average in all three dimensions. The multidimensional aspect of distribution problems is one that should not be overlooked. The approximation method presented here will provide a suitable solution for these types of problems, particularly where the true optimum solution would take too long or where the available cost data are approximate or estimated. However, if required, this approximation can serve as an initial solution for solving a multidimensional distribution problem by the simplex method. SUMMARY Some of the most useful methods of mathematical programming for solving distribution-type problems have been presented here in an easy-to-understand manner. One can see in these methods the gradual development and refinement that has taken place with time. Research in the entire area of mathematical programming is progressing so rapidly and on so many fronts that improvements, refinements, and new methods may very soon supplant some of the methods discussed here. However, the MODI method will prob- ably remain as a basic tool for solving the general class of two- dimensional distribution problems. One should bear in mind that distribution-type problems are a very special example of mathematical programming and comprise a minor portion of the total variety of problems solvable by math- ematical programming. The mathematics for the most part has been purposely minimized in this chapter. The next chapter on the simplex method will gradually develop and explain the more general terminology and notation of mathematical programming. Thie Simplex IVIothod INTRODUCTION The simplex method is the more general method of mathematical programming. It is not quite as easy as its name might imply and involves considerably more work than the distribution methods considered previously. The methods discussed previously were limited in that they can be applied only to distribution-type prob- lems which comprise a small portion of the vast number of problems that can be solved by linear or mathematical programming. The simplex method can best be described as a technique of matrix algebra, used to obtain the optimum values for variables related in a system of linear inequalities. 17 This description will be further seen through the examples in this chapter. The simplex method can be equally well applied to solving systems of simulta- neous linear equations. Hence it can be counted among the several techniques and methods useful in solving problems of this type. "Linear inequalities— expressions whose variables are all to the first power, and hence are linear. The relationships are generally not equations, but are usually re- strictions or similar inequalities which do not usually define a single solution but rather many possible solutions. This will be seen more fully in the succeeding material. 59 60 ELEMENTARY MATHEMATICAL PROGRAMMING The simplex method is generally credited to G. B. Dantzig, though the first attempt at a textbook-type coverage was that of Charnes, Cooper, and Henderson. 18 Many others have contributed to and extended the method and its various theorems and proofs; notable among these, in addition to the afore-mentioned authors, are Lemke, Orden, and Dorfman. 19 The simplex method as it is presented here differs from the way preceding authors would present it, primarily in the terminology used. The presentation here is much more elementary and some- what nonmathematical in order to accomplish the purpose of this text. No attempt will be made here to develop the proof of the simplex method or its various theorems for several reasons: first, it is unnecessary to comprehend the proof of a method in order to use it effectively (i.e.; one does not have to be a mechanical engineer to use an automobile); second, very adequate treatment has been given to the mathematical implications of the simplex method, notably by Dantzig 20 and Charnes and Cooper. The basic simplex method will be presented via a simple manu- facturing problem. The problem will be developed and solved in its entirety. Following the basic simplex method, the discussion develops the geometric interpretation of a linear programming problem and the simplex method. Degeneracy, various types of algebraic relationships, and simplifications are then discussed. A distribution problem is illustrated as it would be shown if it were to be solved by the simplex method. The dual linear programming problem and the modified simplex method are also presented toward the end of the chapter. THE BASIC SIMPLEX METHOD The basic simplex method is most easily developed via a relatively simple problem. Consider the following manufacturing problem: A manufacturer wishes to determine how to produce two products (A and B) so as to realize the maximum total profit from the sale of the products. 18 Charnes, Cooper, and Henderson. An Introduction to Linear Programming, John Wiley & Sons, 74 pp., 1953. 19 See the bibliography for a partial listing of the works of these and other authors in this and associated areas. 20 T. C. Koopmans, Activity Analysis of Production and Allocation, John Wiley & Sons, 1951. THE SIMPLEX METHOD 61 Both products are made in two processes (I and II). It takes 7 hours in process I and 4 hours in process II to manufacture 100 units of product A. It requires 6 hours in process I and 2 hours in process II to manufacture 100 units of product B. Process I can handle 84 hours of work, and process II can take 32 hours of work in the schedule period. If the profit is $11.00 per 100 units for product A and $4.00 per 100 units for product B, then how much of each of products A and B should be manufactured to realize the maximum profit? It is assumed that whatever is produced can be sold and that the set-up time on the two processes is negligible. In some respects this problem is very similar to the word prob- lems given to students learning elementary algebra. It is necessary to develop a mathematical model (formulation) of the problem. Essentially an answer is required in terms of units of the products to be manufactured. Therefore, if we let x = number of 100's of product A y = number of 100's of product B then an expression for the manufacturing time on each of the two processes can be developed. Obviously the time consumed manu- facturing the two products cannot exceed the total available time on the processes. Mathematically, this would be Process I: 7x + 6y < 84 Process II: 4x + 2y < 32 Note that the 7x would be the time spent on process I in manufac- turing product A, and the 6y would represent the time on process I required to manufacture product B. The time required to manu- facture the two products must not exceed the total time; hence the less-than or equal-to (<) sign is employed. A similar explanation would apply for the second expression representing time spent on process II. The purpose of solving this problem is to determine x and y such that the profit will be maximum. The profit (or objective function as it will be called) can then be written: llx + 4y = maximum Note that the llx represents the total profit derived from the sale of product A, and the 4y the profit from product B. 62 ELEMENTARY MATHEMATICAL PROGRAMMING The problem can now be stated mathematically as follows: Determine x and y such that l\x + 4y = maximum (3.1) subject to: 7x + 6y < 84 (3.2) 4x + 2y < 32 (3.3) Obviously the values calculated for x and y must be positive in order to yield meaningful answers. Hence it is implicit in mathe- matical programming, and in the specific problem at hand, that x>0 We will see later how this implicit requirement is met in the simplex method. In order to apply the simplex method to the problem at hand, it is necessary to make equations of the two inequalities (3.2 and 3.3). This can be accomplished by the addition of slack variables as follows: 7x + 6y + W 1 = 84 (3.4) 4jc + 2y + W 2 = 32 (3.5) The symbol W will be used throughout this discussion for slack variables. A slack variable can be defined as any convenient posi- tive number that causes equality to exist. In the above equations (3.4 and 3.5), the slack variable may be considered as idle equip- ment time. Therefore expression 3.4 can be explained: 7x represents time required to produce product A. 6y represents time required to produce product B. W t represents idle equipment time. Obviously then an equation can exist. There is nothing in the problem that says that the same amount of idle time must exist on both processes; hence the subscript is noted on the slack variables to eliminate confusion. If no gain or loss (profit or cost) is assumed for idle equipment time, then the profit or objective function (3.1) can be expanded to include the slack variables thus: 11* + 4y + 0. Wi + 0- W 2 = maximum (3.6) Actually idle equipment costs (unabsorbed burden) can be in- cluded in the formulation. This will be illustrated later— for now no gain or loss is assumed for the slack variables. THE SIMPLEX METHOD 63 The problem as it now stands is represented by a system of two equations (3.4 and 3.5) involving four variables (x, y, W lt W 2 ) and an objective function (3.6). Mathematically this means that an infinite number of solutions exist for the problem. The simplex method offers a means of obtaining the very best answer most efficiently. To facilitate handling the problem equations, they can be put into matrix form. In basic algebra, specifically determinants, it was found that systems of equations can be solved by working with the coefficients alone, and one does not need to rewrite the variables many times. This is somewhat similar to what will be done here. The two equations (3.4 and 3.5) in matrix form are shown in Figure 47. x y w, w 2 84 7 6 1 32 4 2 1 Fig. 47. Problem Equations in Matrix Form Note that the first line represents equation 3.4, and the second line equation 3.5. Note also that the constants have been placed to the left of the equation. The problem is now shown in a 2 X 4 matrix array [i.e., two rows (equations) and four columns (variables)]. As with the distribution methods, it is necessary to establish an initial solution. However, to illustrate the simplex method, the initial solution will be the worst possible or trivial solution. The worst possible or trivial solution for this problem would be to pro- duce nothing, have all idle equipment time, and hence reap no profit. If nothing were produced, then all the available equipment time would be idle time, and the values for the variables would be: x = y = o W t = 84 W 2 = 32 This initial or trivial solution can be noted in the matrix array as in Figure 48. x y w, W 2 W, 84 7 6 1 W 2 32 4 2 1 Fig. 48. Initial or Trivial Solution Shown in Matrix 64 ELEMENTARY MATHEMATICAL PROGRAMMING Note that the slack variables have been placed to the left of the matrix (in what will be referred to as the stub) and may be read: W 1 = 84 W, 32 Since the variables x and y do not appear in the stub, they are by definition equal to zero. The objective function (profit function 3.6) is included in the matrix array for reference. This will be used to evaluate the initial and succeeding solutions. 11 4 X y w, w 2 w, 84 7 6 1 w 2 32 4 2 1 Fig. 49. Matrix including Objective Function The objective function is written above the position of the vari- ables, and the appropriate objective numbers are written to the left of the variables in the stub. At this point it will add to the clarity of the discussion if various parts of the matrix are named. Objective column Variable column - Constant column Stub 84 32 11 4 ^-Objective row X y w, w 2 •^Variable row 7 6 1 1 Problem 4 2 1 J equations Body Identity Fig. 50. Nomenclature of the Simplex Matrix The solution stub of the matrix always contains the three columns. However, the body and identity may be considerably larger than two columns each, depending upon the particular problem. To improve upon the initial (trivial) solution, some measure of improvement potential (much like water-square values in the MODI method) must be developed. This is accomplished in an- other row, an index row, that will be developed and placed below the matrix array. Numbers appear in the index row under the constant column, body, and identity. They are developed from the formula: THE SIMPLEX METHOD 65 Index number = ^ (numbers in column) X (corresponding num- ber in objective column) — (number in objective row at head of column) The index row numbers for the problem at hand are calculated as follows: Index number for constant column = 2 (numbers in column) X (numbers in objective column) — (objective row number) = (84-0) + (32-0) - = In the case of the constant column, a zero is implicit in the objective row. Index number 1st column of body = (7«0) + (4-0) — 11 = -11 Index number 2nd column of body = (6 • 0) + (2 • 0) — 4 = -4 Index number 1st column of identity = (1 • 0) + (0 • 0) — = Index number 2nd column of identity = (0 • 0) + (1 • 0) — = The initial simplex matrix can now be written in its entirety (Fig. 51). 11 4 X y w ( w 2 w, 84 7 6 1 w 2 32 4 2 1 -11 -4 <^lndex row Fig. 51. Initial Simplex Matrix It can be seen that the index row is merely the negative of the objective row. This will occur only when the objective column contains all zeros as in this problem. Now that the problem is formulated and the initial simplex matrix is established, the simplex method can be used to improve the solution. The numbers in the index row give an indication of potential improvement in much the same manner as the water- square evaluations in the MODI method. The presence of negative numbers in the index row under either the body or identity indi- 66 ELEMENTARY MATHEMATICAL PROGRAMMING cates that the solution may be improved. The larger the negative number, the greater the potential improvement. The greatest negative number in the index row occurs in the column headed by the variable x. This column will be designated as the key column. Actually any column containing a negative index number could be selected as the key column. However, this method will generally converge upon an optimum solution most rapidly when the column with the greatest negative index number is selected. 11 4 X y W, w 2 W, 84 P 6 1 w 2 32 4 2 1 -11 -4 t Key column Fig. 52. Initial Simp ex N Matrix— (ey Column Noted The key column is circled for reference. This selection of the key column means that the variable x will be introduced into the solu- tion, replacing one of the variables presently in the solution. The next step is to determine which variable will be replaced. The variable to be replaced will actually depend on which of the two problem equations limits or restricts x to the smallest amount. This is most conveniently accomplished as follows: Divide each number in the constant column by the corresponding positive nonzero number in the key column. Compare the quotients obtained, and select the row with the smallest non-negative quotient. In this problem the quotients would be: First row 84 /? = 12 Second row 32 A = 8 Since the second row has the smallest non-negative quotient, it can be designated as the key row and circled for reference. The number common to both the key row and key column is designated as the key number. The selection of the second row means that, in the next improved solution, the variable W 2 will be replaced by the variable x. This selection of the key row can be easily verified by examining the original problem relationships. Actually, since x shows the greatest possible improvement potential, one is interested in making x as THE SIMPLEX METHOD 67 W, 84 c W, 32 w, 1 J<-Key 11 Key number f Key column Fig. 53. Initial Simplex Matrix— Key Row and Key Number Noted large as possible. The maximum value for x is determined by that relationship which limits x to the smallest value. In the system Ix + Gy + W x = 84 Ax + 2y + W 2 = 32 the variable x is limited to (First equation) (Second equation) x < 84 / 7 = 12 X < 32 /4 = 8 If x assumes a value larger than 8, then it will violate the second equation. In terms of the initial statement of the problem, a value for x greater than 8 requires more time on process II than the available 32 hours. Since this is impossible, x cannot be greater than 8 units. This corresponds to selecting as the key row that row with the smallest non-negative quotient. With the selection of key column and key row accomplished, the simplex method can be employed to develop a new table represent- ing an improved solution. The first part of the new table to be developed may be called the main row. This main row appears in the same position as the key row of the preceding table, and is composed of the key row divided by the key number. w, 84 11 X 4 y 6 1 w 2 Table 1 Co w 2 32 4 2 -11 -4 Table II 8 1 Vi V* ^-Main row Fig. 54. Simplex Matrix— Main Row of New Table 68 ELEMENTARY MATHEMATICAL PROGRAMMING Note that the variable and objective rows are not repeated in the new table merely to minimize the amount of writing. The variable and its objective number from the head of the key column are put in the stub of the main row replacing the variable and its objective number from the key row of the previous table. The remainder of the objective and variable columns in the stub are repeated in the new table. w, 84 11 X 4 y 6 w, 1 Table w 2 32 4 2 -11 -4 w, Table II 1 1 x 8 1 Vfc Vi Fig. 55. Simplex Matrix— Variables included in Second Table All the remaining numbers in the new table, in the body, identity, constant column, and index row may be calculated by the following formula: New number — old number — /corresponding number \ /corresponding number of key row X / \ of key column key number The number for the first row, constant column is calculated: New number = 84 - 4 = 84-56 = 28 The number in the first row, first column of the body will be New number 4X7 = THE SIMPLEX METHOD 69 The number in the index row, constant column will be New number = - 32 X ^ -11) 4 = 88 When all the remaining numbers are calculated, then Table II will appear as in Figure 56. 11 4 X y W, w, W, 84 r> 6 1 Table 1 (° w 2 32 4 2 y -4 w, Table II 1 1 28 8 88 3 /2 - 7 /4 y 4 n /4 Fig. 56. Simplex Matrix— First Iteration Completed The index row of Table II (Fig. 56) contains all positive numbers under the body and identity. Therefore the solution contained in Table II is optimum. If any negative numbers remained in the index row under the body or identity, then the entire process would be repeated again until all the numbers were positive. The steps re- quired to develop the improved solution (Table II) can be grouped together and are referred to mathematically as an iteration. If any negative numbers appeared in the index row of the second table, then another iteration would be accomplished to develop a third table in much the same manner as described when developing the second table. To iterate means to repeat; hence the same steps are repeated (the iterations are continued) as often as necessary to obtain an optimum solution. The values of the variables can be obtained from the stub of Table II. The optimum solution is: x = 8 y = o W x = 28 W 2 = The variables x and W 1 appear in the stub with their value rep- resented by the corresponding number in the constant column. 70 ELEMENTARY MATHEMATICAL PROGRAMMING The variables y and W 2 are not listed in the stub and are, by defi- nition, equal to zero. Any variable not in the stub is always equal to zero. The above solution can easily be verified by substitution in the initial problem equations (3.4 and 3.5). The value of the objective function (i.e., the profit derived with the optimum solution) can also be obtained by substitution. The optimum profit is Hjc + 4y + 0« W a + 0» W 2 = maximum 11(8) + 4(0) + 0(28) + 0(0) = maximum (.00 = maximum (3.6) The value of the objective function can also be obtained directly from the simplex matrix array. The number in the index row and constant column represents the value of the objective function for the solution contained in the stub of the matrix array. Economic significance can be attached to all the numbers in the index row. The general interpretation is as follows: Index row under the body— the significance of these index numbers is very similar to the interpretation given the water-square evaluations in the MODI method. A negative number indicates the algebraic increase that would occur in the objective function if one unit of the variable heading that column were introduced into the solution. Hence negative numbers here mean that fur- ther improvement in the solution is possible. A positive number indicates the algebraic decrease that would occur in the objective function if one unit of the variable heading that column were introduced into the solution. In Table II (Fig. 56), the index row number under the column headed by the variable y was + %. The above interpretation of this index number can be verified by substitution in the original prob- lem equations. The second equation (3.5) will show the interpre- tation since it is the limiting expression. 4x + 2y + W 2 = 32 (3.5) if y = i w 2 = o then, 4x + 2(1) + = 32 x = ^ = 7V 2 4 THE SIMPLEX METHOD 71 This solution would yield the following profit: llx + 4 y + 0- W t + 0- W 2 = profit 11(7%) + 4(1) = profit $86.50 = profit The profit from this solution is exactly $1.50(%) less than the optimum solution. Hence introducing one y into the solution re- duces the value of the objective function by $1.5($%). Index row under the identity— a negative number here has the same significance as a negative number under the body of the matrix array. A positive number can be thought of as potential "opportunity profit," or the amount of algebraic increase in the objective function if the restriction involving that variable could be relaxed by one unit. This "opportunity profit" can be illustrated from Table II, Fig- ure 56. The index number under the column headed W 2 is l Va. If one more W 2 were available in the initial solution (i.e., if W 2 = 33 instead of 32 in Table I), then the objective function would be increased by l Va dollars. If 4x + 2y + W 2 = 33 and y — W 2 = then 4x + 2(0) + = 33 x = 3? or 8Va 4 The profit from this solution would be ll(8 1 / 4 ) + 4(0) = profit $90.75 = profit Note that this change has increased the profit function by $2.75 or 11 /a dollars. It is well to mention here that these interpretations for the index numbers hold true regardless of the size of the problem or type of objective function. Profit may not be the only objective; never- theless, the same interpretation is valid. In the simplex method as with the MODI method, an optimum solution is obtained, and much information about alternative solutions is also provided. The remaining numbers in the array also have an economic interpretation. The numbers within the body and identity of the 72 ELEMENTARY MATHEMATICAL PROGRAMMING array represent the marginal rate of exchange, at the solution rep- resented in the stub, between the variable in the solution stub and the variable at the head of the column. For example, in the initial matrix array for the preceding problem, the first row was x y W,W 2 W, 84 7 6 1 Each of the numbers in the body (columns x and y) and identity (columns W x and W 2 ) represent the marginal rate of exchange be- tween the variable W 1 and the variables of the respective columns. In this case, seven units of W 1 are exchanged for one unit of x, six units of W 1 are exchanged for one unit of y, one unit of W 1 is exchanged for one unit of W ls and zero units of W 1 are exchanged for one unit of W 2 . This interpretation is completely general and applicable to any successive matrix array. The interpretation for the first row of the second table in the preceding problem is as follows: x y W t W 2 W x 28 5 / 2 1 - 7 / 4 The marginal rate of exchange between x and Wj is zero. One unit of y will be exchanged for % units of W t . Similarly, one unit of W 1 is exchanged for one unit of W x . The negative sign on the Va indicates that W 1 will be increased by 7 A units for every unit of W 2 introduced into the solution. In the case of a positive marginal rate of exchange, the variable in the stub of that row is decreased by the addition of one unit of the variable in that column. A negative marginal rate of exchange indicates the increase in the variable in the stub of that row with the addition of one unit of the variable in that column. This inter- pretation is completely general and permits rather rapid analysis of various alternative solutions, and the effect of changes in the basic data upon the solution(s). Summary. This relatively simple problem has been used to illus- trate the basic simplex method. It certainly seems in order now to collect the steps that were followed and present them in a concise manner. The basic simplex method can be summarized in the fol- lowing steps: 1. Formulate the problem and the objective function. THE SIMPLEX METHOD 73 2. Develop equations of the inequalities (this will be expanded in the succeeding discussion). 3. Develop the initial simplex matrix including the initial (trivial) solution and the index row numbers. a. The index row numbers in the initial matrix are calculated by the formula: Index number = ^ (numbers in column) X (corresponding num- ber in objective column) — (number in objec- tive row at head of column) 4. Select the key row— that row with the smallest non-negative quotient obtained by dividing each number of the constant column by the cor- responding positive, nonzero number in the key column. 5. The key number is at the intersection of key row and key column. 6. Develop the main row of the new table. . . key row of preceding table Main row = ■ ■ key number The main row appears in the new table in the same position as the key row of the preceding table. 7. Develop the remainder of the new table. a. The variable and its objective number at the head of the key column are written in the stub of the new table to the left of the main row. These replace the variable and objective number from the key row of the preceding table. b. The remainder of the variable and objective columns are repro- duced in the new table exactly the same in the preceding table. c. The numbers of the new table, exclusive of the main row, are cal- culated by the formula: (corresponding no.\ /corresponding no. \ of key row / V of key column / l-ICYY IIUIIIUCI — UIU IIUIIIUCI key number 8. Repeat steps 4 through 7c until all the index numbers (exclusive of the constant column) are positive. 9. The interpretation of the optimum solution is as follows: a. The solution appears in the stub. The variables and their respec- tive values will be shown there. All variables that do not appear in the stub are equal to zero. b. The index row numbers can be interpreted as follows: (1 ) The number in the index row, constant column is the value of 74 ELEMENTARY MATHEMATICAL PROGRAMMING the objective function for the solution represented in the stub of the matrix. (2) A negative number under the body or identity indicates the algebraic increase in the objective function if one unit of the variable at the head of that column were introduced into the solution. (3) A positive number in the index row under the body of the matrix array represents the algebraic reduction in the objec- tive function if one unit of the variable at the head of that column were introduced into the solution. (4) A positive number under the identity has much the same meaning as in (3) above. However, it may also be thought of as representing "opportunity profit" or the amount of algebraic increase possible in the objective function if one more unit of the variable heading that column were available in the initial solution: i.e., if the restraint of the problem were relaxed by one unit. c. The remaining numbers in the array represent the marginal rate of exchange between the variables in the row and column at the particular solution represented in the stub. (1) A positive rate of exchange indicates the decrease in the variable in that row that results with the addition of one unit of the variable in that column. (2) A negative rate of exchange indicates the increase in the variable in that row that results with the addition of one unit of the variable in that column. It is well to re-emphasize here that only the basic rudiments of the techniques of problem formulation and the simplex method have been covered thus far. The remainder of this chapter will develop some of the refinements. However, the problem just pre- sented does illustrate how the simplex method can be used to develop an optimum solution and at the same time provide useful information (in the index row numbers) about alternative courses of action. VARIATIONS The previous problem was solved to yield maximum profits. This section illustrates how the same problem may be solved for THE SIMPLEX METHOD 75 other objectives such as maximum machine utilization and maxi- mum number of pieces produced. Idle Equipment Costs Included. In the preceding problem, no gain or loss was associated with the slack variables W 1 and W 2 repre- senting idle equipment time. Actually idle equipment time costs money, and this cost should, if possible, be included in the formu- lation. Let us assume the following idle equipment costs: Process I = $3.00 per hour Process II = $5.00 per hour With this assumption, the problem relationships are: Ix + 6y + W t = 84 (3.4) 4x + 2y + W 2 = 32 (3.5) and the objective is now llx + 4y - SW, - 5W 2 = maximum (3.7) Note how the objective function now contains profit for the products and costs for the slack variables (idle equipment time). It is not unusual for the reader to be confused at this point since the system (3.4 and 3.5) has remained unchanged but yet the objective function has been modified. The following simile should clarify the confusion. The system (set of relationships) describes the boundaries of the problem or, let us say, describes the automobile. The objective function (one relationship) describes what is to be attained or rep- resents a specific destination for the automobile. As we can guide an automobile to several different destinations, so likewise can several objectives apply to the same problem— conceivably each one yielding a different solution. In this respect, the system and objective are separate entities. The problem as it now stands (equations 3.4, 3.5, and 3.7) can be put into matrix form and the initial simplex matrix developed. 11 4 -3 -5 X y w, w 2 3 w, 84 7 6 1 5 w 2 32 4 2 1 Fig. 57. Problem Matrix including Idle Equipment Costs Figure 57 illustrates the problem in matrix form with the objec- tive row noted and the initial or trivial solution included in the stub. 76 ELEMENTARY MATHEMATICAL PROGRAMMING The next step is to establish the index row numbers. This is where the difference between the two objective functions becomes very noticeable. The index row numbers are calculated by the formula: Index number = 2 (numbers in the column) X (corresponding number in objective column) — (number from objective row) The index number for the constant column is Index number = [84(-3) + 32(-5)] - = -412 The remaining index numbers are calculated in a similar manner and appear as shown in Figure 58. 9 11 4 -3 -5 X y w, w 2 -3 W, 84 7 6 1 -5 w 2 32 4 2 1 -412 -52 -32 Fig. 58. Initial Simplex Matrix-Problem including Idle Equipment Costs Note how the index row of this simplex array differs from that shown in Figure 51. The same steps of the simplex method would be followed to solve the problem represented in Figure 58. The solution, however, will reflect the idle equipment costs assigned to the slack variables. Maximum Number of Pieces Solution. The same problem can be rather simply solved for the maximum number of pieces. This type of solution would require an objective function that mathe- matically would be x + y — maximum and the entire problem can most simply be stated: Maximize x + y (3.8) subject to Ix + 6y < 84 (3.2) 4x + 2j < 32 (3.3) Exactly the same method as discussed earlier would be used to develop the initial simplex matrix array. Figure 59 illustrates the initial simplex matrix for this problem. THE SIMPLEX METHOD 77 1 1 X y w, w 2 w, 84 7 6 1 w 2 32 4 2 1 ^1 -1 Fig. 59. Initial Simplex Matrix— Maximum Number of Pieces Objective It can be seen that a tie exists between the two columns in the body of the matrix. They both have the greatest negative index number. In such tie situations, either column may be selected as the key column. This is a completely general rule. However it is inter- esting to see the result in the problem at hand. If one column is selected as the key column, three iterations are necessary to obtain the optimum solution. If the opposite choice is made, the problem can be solved in one iteration. Exactly the same solution is obtained except that more work is required with the one choice. No effec- tive scheme has been devised to assist in selecting the key column in a tie situation. The situation of a tie between two rows for key row will be included in the discussion of degeneracy later. Maximum Equipment Utilization Solution. The preceding problem can also be solved to maximize the equipment utilization. In terms of the variables of the problem, this objective is to minimize the idle equipment time, or mathematically, Wi + ^2 = minimum The simplex method is an algebraically maximizing method and requires an objective function to equal maximum. This require- ment can be met as follows: Since f(x) — minimum is equivalent to saying — f(x) = algebra- ically maximum, the objective function can be written — Wj — W 2 = maximum The problem can then be stated: Maximize -W t -W 2 (3.9) subject to 7x + 6y < 84 (3.2) 4x + 2y < 32 (3.3) The initial simplex matrix array would then be as shown in Figure 60. The simplex method would then yield a solution that will have 78 ELEMENTARY MATHEMATICAL PROGRAMMING -1 -1 X y W, w 2 -1 w, 84 7 6 1 -1 w 2 32 4 2 1 -116 -11 -8 Fig. 60. Initial Simplex Matrix— Maximum Utilization Objective an absolute minimum of idle equipment time. This solution inci- dentally may or may not be the same as the solution including idle equipment costs discussed previously. These variations have been presented to illustrate the difference between the system and the objective function, as well as to give some slight insight into the possible types of objective functions. The three variations of the initial problem have not been carried to their solutions in order that the interested reader may try his skill at using the simplex method. The solutions are presented in the succeeding discussion of the geometric interpretation of the problem and may easily be verified graphically there. Short-cuts. It is probably apparent to the diligent reader by this time that several short-cuts are possible. These will be developed and explained here. First it may be noted that a zero appears in the index row for columns whose variables appear in the stub of the matrix. This is a completely general statement and applies at any stage (iteration) of the solution to a problem. It may be noted further that, for every variable in the stub, the column with that variable contains all zero numbers except that a " + 1" appears at the junction of the row and column with the same variable. By the same token the key column appears in the suc- ceeding table with a " + 1" at the junction of the main row. The remainder of the column contains zeros. In the formula used to calculate the numbers of a new table, it can be verified that, if a zero should appear in the key column, that row remains unchanged in the new table. Similarly, if a zero appears in the key row (and of course main row of the new table), then that column remains unchanged in the new table. These short-cuts can be rather easily verified, and so they will not be proved here. However, these short-cuts materially reduce the iteration time. In most problems with the above short-cuts only 10 to 20 per cent of the numbers in the matrix must be calculated in any one iteration— a considerable savings in time and effort. THE SIMPLEX METHOD 79 Checking the Work. One does not have to work with very many problems in mathematical programming until it becomes evident that a convenient means for checking the work is required. In relatively small problems it is not too difficult to double-check each calculation. As the problems become larger and involve more iterations, this means of checking for errors adds to the tedium and soon escapes human capabilities. Then too, while it is possible to double-check for correct numbers, it is extremely easy to run into number transposition errors. Two methods are available for detecting errors. The first method involves checking the index row numbers after each iteration. The index row numbers for the second and succeeding tables are calcu- lated by the formula used to calculate the other numbers in the matrix array. The checking scheme involves calculating the index numbers in the same manner as they are initially established and comparing the results. Consider the matrix array of the previous problem as an example. Table I 11 4 X y w, w, w, 84 r> 6 1 (° w 2 32 4 2 d -4 W, 28 5 /2 1 -Va Table II 1 1 x 8 1 y 2 V4 88 3 /2 "/4 Fig. 61. Simplex Solution to a Manufacturing Problem The index row numbers in Table II were calculated by the formula: New number = old number /corresponding number\ /corresponding number \ \ of key row / \ of key column / key number It is possible to check these numbers by the formula used origi- nally to establish the index numbers in the initial simplex matrix (Table I). 80 ELEMENTARY MATHEMATICAL PROGRAMMING Index number = ^ (number in column) X (corresponding number in objective column) — (objective number at head of column) The check calculation for the index number in the constant column (Table II) is ' Index number = [(28)(0) + (8)(11)] - = 88 The check calculation for the index number in the first column of the body (column containing x) is Index number = [(0)(0) + (1)(11)] - 11 = The same check calculation is continued for each index number. If an error is detected, then the numbers in that column are rechecked. This check routine has one big limitation aside from the fact that it becomes rather cumbersome for relatively large matrices. That limitation lies in the fact that an error in a row where the number in the objective column is zero (row one of Table II in Fig. 61, for ex- ample) can go undetected. Obviously this check routine is in reality only a partial check. The second, and better, means of checking for errors in the work is with the use of a check column. This method permits a rapid and convenient means of error detection. Again consider the pre- vious problem as an example. 11 4 X y W, W 5 W, 84 7 6 1 W 2 32 4 2 1 -11 -4 Fig. 62. Initial Simplex Matrix The check column can be added to the right of the matrix array. The numbers in the check column are established as the algebraic sum of all the numbers in a row including the constant column, body, and identity of the matrix. The check column properly established for the above initial simplex matrix is as shown in Figure 63. THE SIMPLEX METHOD 81 11 4 X y w, w 2 ck w, 84 7 6 1 98 w 2 32 4 2 1 39 -11 -4 -15 Fig. 63. Initial Simplex Matrix including Check Column The check column has been set off from the matrix array so as not to be confused with any of the other columns in the matrix. Note that a check number is established for each row including the index row. When the check column is once properly established, it is handled in the same manner as any other column in the matrix array. Of course, it is meaningless to consider the check column as a possible candidate when selecting the key column. If the check column has been properly established, and no errors have occurred in the iter- ation process, the numbers in the check column will always equal the algebraic summation of the number in the respective rows. The check column for the above problem would be handled as any other column in the matrix array, and the complete problem array would be as shown in Figure 64. 11 W, W 2 ck Table I w, 84 r? 6 1 98 w 2 32 4 2 1 39) d -4 -15 W, 28 5 /2 1 - 7 /4 ,19 /4 Table II 1 1 x 8 1 V2 Va 3 % 88 % n /4 36 % Fig. 64. Simplex Solution with Check Column The numbers in the check column would be calculated in the same manner as the other numbers in the corresponding rows. The check-column number is then compared with the algebraic sum of the numbers in the row. If they tally, then the work is almost certainly error-free. This method of checking the work for errors, although it does add another column to the matrix array, is much more efficient and re- 82 ELEMENTARY MATHEMATICAL PROGRAMMING quires less work than the first method described. In addition, the use of the check column affords a complete check of all the work, and not merely a partial check as with the first method discussed. It does not require too much experience before one grasps the im- portance and necessity of using a check column. It is well to mention here that a check row can be established in much the same manner as the check column. This too offers a complete check of the work. The simplex matrix array always contains more columns than rows. Therefore, the check column is more efficient since it will contain fewer check sums than a check row. Then, too, a check row can be easily confused with the other rows of the array, whereas a check column is rather easily set apart from the array. Of course, as Charnes and Cooper 21 point out, the all-important check though it may seem trite is in assessing the resulting solu- tion^) in terms of its meaningfulness and practicability as a course of action to the problem at hand. Mathematical programming work, regardless of how accurate, is useless unless the results can be presented to management as a realistic course of action. This will be further amplified in the applications presented later in the text. GEOMETRIC INTERPRETATION The preceding manufacturing problem can be quickly and easily solved graphically. The geometric interpretation of a mathematical (linear) programming problem and the simplex method will be developed here via the same manufacturing problem. The problem formulation is: Maximize 11* + 4y (3.1) subject to Ix + 6y < 84 (3.2) 4x + 2y < 32 (3.3) If the two relationships 3.2 and 3.3 are considered as equations, 7x + 6y = 84 (3.2.1) Ax + 2y = 32 (3.3.1) they may be plotted as two straight lines as shown in Figure 65. 21 Charnes, Cooper, Henderson, op. cit, p. 18. THE SIMPLEX METHOD 18 16 14 12 10 y 8 6 4 2 83 B 1 1 1 1 1 1 1 1 \ - - ^ >e — - V~4x + 2y = 32 - — V \xx-7x + 6y = 84 : - 1 1 1 \a i \d I l 2 4 6 Fig. 65. Problem Equations Graph 8 10 12 14 16 18 x Line AEB can be denned as the locus of points satisfying the equation 4x + 2y = 32 Since the actual problem relationship is an inequality (a less- than-or-equal-to relationship), then an area of possible solutions exists. The area AEBO is the area of possible solutions to the inequality. 4jc + 2y < 32 Similarly, the line DEC represents the locus of points satisfying the equation lx + 6y = 84 and the area DECO represents the locus of points satisfying the inequality lx + 6y < 84 The area that is common to both inequalities, area A ECO, represents the locus of points satisfying the system lx + 6y < 84 4x + 2y < 32 84 ELEMENTARY MATHEMATICAL PROGRAMMING and hence contains the possible solutions to the problem. Note how the ordinate and abscissa and the two relationships define the boundaries of the problem. Point E is, of course, the simultaneous solution to the two equations. This graph verifies an earlier statement that the problem has an infinite number of possible solutions. Actually what the simplex method does is to find the very best (most maximum profit) solu- tion. This can be accomplished graphically. The objective (profit) function llx + 4y = maximum defines (geometrically) a series of lines with a — n A slope. The negative sign describes a straight line that is directed down to the right and up to the left. The n A means that, for every 11 divisions vertically, the line is offset 4 divisions horizontally. Let us back- track a moment and see how this was obtained. One of the general forms of a two- variable linear equation is x where y = the variables y — mx + b y\ m = the slope of the line b = the y intercept (value of y when x = 0) The above objective function can be placed into this general form; thus: llx + 4y = maximum a; _ 11 , maximum y- - 4 X + 4 11 m=-- The profit function is then represented by a family of straight lines (a number of parallel lines) with a — U A slope. If the profit function (one of these lines with a — ll A slope) were superimposed on the graph in Figure 65 (Fig. 66), then the line could be interpreted as a locus of points all of which yield identi- cally the same profit. The objective function in the form _ _11 , maximum y- 4 x+ 4 85 Ax + 2y = 32 Objective function 7x + 6y = 84 2 A 6 8 10 12 14 16 18 x Fig. 66. Problem Graph— Objective Function Superimposed indicates that, to obtain the maximum value of the function (maxi- mum profit), the line must be as far from the origin as possible and still satisfy the problem relationships (3.2 and 3.3). This is shown graphically in Figure 67. The profit function contacts the area of possible solutions where x = 8 y = by substitution; in the profit function, this solution yields a profit of §88. Since the objective function line is as far from the origin as possible and still contains a point in A ECO, namely point A, this is the optimum (maximum profit) solution. This compares exactly with the solution obtained previously via the simplex method. This problem was rather easily solved graphically. However the graphical solution does not yield as much information as the sim- plex solution. Then, too, the solution is only as accurate as the graph construction. Two or three variable problems can usually be solved graphically. However, when a problem contains four or more variables, a graphical solution is impossible, though the same general concept holds true. Certainly one cannot attempt to visualize this in more than three dimensions. Let it suffice to say that a linear programming prob- 86 ELEMENTARY MATHEMATICAL PROGRAMMING 1 1 1 1 1 1 '1 ;\ \ \ \\ \^— Objective function " \\ — \ \^-4x + 2y = 32 - \\ \^Wx + 6y = 84 " \ \ i i i V i \d i 1 J 2 4 6 8 10 12 14 16 18 x Fig. 67. Optimum Solution— Maximum Profit 18 16 1 1 1 1 1 1 1 1 — 14c - 12 -S - 10 \ ^4* + 2y = 32 - 8 \*\^-Objective function — 6 \\\ - 4 \ \ \^7x + 6y = 84 2 1 1 \ \\ \ \\ 1 \ INN 1 - 10 12 14 16 18 Fig. 68. Optimum Solution— Maximum Number of Pieces THE SIMPLEX METHOD 87 lem in four or more unknowns is similar to a two- or three-variable problem, in that the system of relationships encloses a possible solutions space and the simplex method seeks an extreme point with the objective function. 22 The graph (Fig. 65) can rather easily yield the solution for the maximum number of pieces and the maximum equipment utiliza- tion. The objective function for maximum number of pieces was x + y — maximum which describes a family of lines with a ( — 1) slope. The optimum solution for maximum number of pieces is x = y = 14 This is the same solution that can be obtained with the simplex method. The solution with minimum equipment idle time would be simply the simultaneous solution to the two equations: lx + 6y = 84 4x + 2y = 32 where x = 2.4 y = 11.2 This too would be obtained via the simplex method using the objec- tive function — W 1 — W 2 = maximum The geometric interpretation of a mathematical programming problem is of interest in understanding the simplex method. Rela- tively simple two- and three- variable problems can most easily be solved graphically; however, the simplex method offers a completely general means of solving mathematical programming problems of any size with any number of variables. DEGENERACY Degeneracy, as previously discussed with the MODI method, can also be encountered in the simplex method. However, it is not 22 For a complete mathematical discussion of this concept see Charnes, Cooper, Hen- derson, op. cit, Part II, pp. 41-74. 88 ELEMENTARY MATHEMATICAL PROGRAMMING quite as easily resolved. Degeneracy occurs either when the prob- lem begins to cycle and never reaches optimum or when the prob- lem collapses (one of the variables disappears) before an optimum has been obtained. This can, of course, happen as a result of errors, but it can also occur as a result of the problem itself. More specifically, degeneracy can be recognized in the simplex method when selecting the key row. If a tie occurs between two or more rows (rows having the same smallest non-negative quotient of the constant column number divided by the corresponding posi- tive, non-zero key column number), then the problem is degenerate. The degeneracy is resolved as follows: 23 1. Divide each element in the "tied" rows by its key column number. 2. Compare the ratios so obtained term by term (column by column) from left to right first in the identity and then in the body. 24 3. The tie is broken when the ratios are unequal. 4. Select as the key row that row with the algebraically smaller ratio. Consider a degenerate problem to see how the above applies (Fig. 69). X 5 3 4 Fig. 69. A Degenerate Problem The key column has been noted in the above array. The possible candidates for key row are rows 1, 2, anp! 4. Row 3 cannot be selected because the key column number is negative. The quo- tients are: 7 6 X, x 2 w, 100 5 -2 w 2 50 4 w 3 20 3 1 w 4 40 8 4 -7 -6 4 3 5 x 4 *5 *6 w, w 2 w 3 w 4 10 -1 -4 1 -1 -3 5 1 1 3 6 5 1 -4 -3 -5 23 Charnes, Cooper, Henderson, op. cit, pp. 20-25. This is the basis for the above discussion and includes a very comprehensive appraisal of the entire scope of the problem of degeneracy. 24 The procedure for resolving degeneracy, as presented in Charnes and Cooper, indi- cates comparison of ratios left to right in the array. However, the simplex matrix is organized by them with the identity to the left of the body. Hence their rule is modified to meet the organization of the matrix array as used here. THE SIMPLEX METHOD 89 Row 1 10 % = 33 V* Row 2 5 % = 10 Row 4 4 % = 10 Hence a tie exists between the second and fourth rows. If the wrong row is selected as the key row, the possibility exists that the variable in the stub of the other tied row. may permanently disap- pear (equal zero). The problem may then begin to cycle or con- tinue indefinitely without attaining an optimum solution. The tied rows must be divided by their key column number and the ratios compared. The comparison is as follows: Column W t (first column of identity): Row 2-0 Row 4-0 Column W 2 Row 2-Vs Row 4-0 The tie is broken in the W 2 column, and row 4 becomes the key row for this matrix array, since it has the algebraically smaller of the two ratios. In the succeeding simplex table it can be noted that the variable W 2 will become zero, but the danger of the problem cycling or col- lapsing has been eliminated by following the degeneracy rule. The above rules are completely general and apply equally well, regard- less of the size of the array, and at any iteration of the problem, not only in the initial array as illustrated above. Multiple degeneracy is evident when a tie occurs among more than two rows when selecting the key row. This condition is also resolved by the above degeneracy rules. Degeneracy does not occur too frequently, and multiple degen- eracy occurs even less frequently. However, a degenerate condition must be recognized and resolved correctly, or much work and effort can go to waste. Degeneracy is most apt to occur in problems where the constant column contains several zeros. A question quite naturally arises here: "What happens if a tie exists between two or more columns when selecting the key col- umn?" The answer is relatively simple. A tie between two columns is not a degenerate situation. Either one of the columns may be arbitrarily designated as the key column. The choice may affect the number of iterations but not the final result. A choice could be made by selecting that column that would have the smallest 90 ELEMENTARY MATHEMATICAL PROGRAMMING quotient in the selection of the key row. This, however, does not necessarily guarantee a minimum number of iterations to the solution. 25 In general, then, when a tie occurs between two or more columns, any one may be selected as the key column. In the previous prob- lem, where the objective was maximum number of pieces, such a tie existed. One choice led to the optimum solution in one itera- tion, whereas the other required three iterations to obtain the same optimum solution. In fact, the choice determined by the smallest quotient in selecting the key row is the choice that requires three iterations. This would seem to nullify the idea of carefully select- ing the key column in such a tie situation. TYPES OF RELATIONSHIPS Up to now, only one type of relationship, namely the restriction, has been considered. While restrictions are the type of relationship most often encountered in mathematical programming problems, it is possible to have requirements, approximations, and equations in certain problems. Restrictions are represented by the less-than-or-equal-to sign (<) and represent things or groups of events that may not exceed a given limitation. Requirements are represented by the greater-than-or-equal-to sign ( > ) and represent things or groups of events that must be at least of a certain minimum (usually non-zero) value. Approximations are represented by the approximately-equal-to sign (^) and represent things or groups of events that must be close to but not necessarily exactly equal to some value. Equations are, of course, represented by the equal sign ( = ) and represent usually groups of events that must equate exactly to a given value. Each of the preceding relationships requires slightly different handling in order to fit into the simplex matrix array. In general, all the inequality relationships are made into equations in prepara- tion for the simplex method. Examples of the preceding will be illustrated, and several additional facts about the simplex matrix will be indicated. Charnes, Cooper, and Henderson, op. cit, p. 15. THE SIMPLEX METHOD 91 Restrictions. Restrictions are most easily handled. In fact, the problems discussed up to now have involved only restrictions. Consider the following example. Ix + 6y < 84 This restriction is ready for the simplex matrix by merely adding a slack variable: 7x + 6y+W x = 84 The slack represents the unused or unallocated portion of the 84 units. The real variables x and y appear in the body of the matrix, and the slack variable appears in the identity. Requirements. Requirements must be handled in a slightly differ- ent manner. Consider the requirement 5x + 2y > 15 An equation will result if a slack variable is subtracted: 5x + 2y - W 2 = 15 The slack variable W 2 represents the amount of overage or the amount by which 5x + 2y exceeds 15. This relationship cannot be put into the simplex matrix array in this form. The slack variable cannot fit in the identity because it is required that the identity be a positive unit diagonal array. In other words, the identity must be square (same number of columns as rows) and must be composed of all zeros except for a diagonal of positive ones. The variable W 2 would show a — 1 in the matrix array; hence it cannot appear in the identity. If the above relationship were multiplied by — 1, it would then be -5x - 2 y + W 2 = -15 This permits the slack variable W 2 to appear in the identity. However the —15 cannot appear in the constant column since it is required that all the numbers in the constant column be positive. This positive requirement on the constant column numbers insures that all variables are greater than or equal to zero. If we return to the relationship in the form bx + 2y - W 2 = 15 then all that is required is a candidate for the identity. A candidate 92 ELEMENTARY MATHEMATICAL PROGRAMMING can be had in an artificial variable. It is possible to add an artifi- cial variable to the preceding expression yielding bx + 2v - W 2 + U, = 15 where U 1 is an artificial variable. (The symbol U will be used throughout the text to distinguish artificial variables from other variables.) This expression can then be put into the simplex matrix array. The real variables x and y and the slack variable W 2 will appear in the body, with the artificial variable L\ in the identity. The artificial variable is merely a computational device that permits certain relationships to be included in the simplex method. The artificial variable was included after equality existed in the relationship. Consequently, none of the artificial variable is wanted in an optimum solution. To assure that the artificial vari- able is driven to zero, we may assign an arbitrarily large cost to this variable in the objective function. This cost may be — M (the same — M as was used in the distribution methods previously discussed), defined as so prohibitively large that it dominates all else in the problem. This will make the initial solution (involving the variables of the identity) very costly, but will assure that all artificial vari- ables will be zero in any optimum solution. No attempt is usually made to attach any economic significance to artificial variables, since they are of value only to the solution technique and not to the real problem. Requirements are then readied for the simplex method by sub- tracting a slack variable to make an equation and then adding an artificial variable to have a candidate for the identity. Approximations. Approximation relationships are not encoun- tered as often as the other types of relationships. Consider the approximation 6x + by s 50 This can be prepared for the simplex method by both adding and subtracting slack variables: 6x + by - W 3 + W 4 = 50 The two slack variables permit 6x + by to be either smaller or larger than 50. The slack variable W 3 actually represents the amount by which 6x + by exceeds 50, and the slack variable W 4 actually represents the amount by which 6x + by is less than 50. THE SIMPLEX METHOD 93 It is logical that we should try to minimize the value of the slack variables so that 6x + by will be as close as possible to 50 without necessarily making it exactly equal to 50. This can be accomplished in the objective function by assigning a —1 to both slack variables (i.e.; the objective function may be ax + by — W 3 — W 4 — maximum, where a and b are the unit profit or cost for x and y, respectively). The relationship can now be included in a simplex matrix with the real variables x and y and the slack variable W 3 appearing in the body, and the slack variable W 4 appearing in the identity. Equations. Equations may be encountered occasionally and are rather easily handled. In an equation, all that is lacking is a vari- able for the identity, and consequently for that relationship in the initial solution stub. This can be had by including an artificial variable. Consider the equation 3x + 4y = 100 This is ready for the simplex method by adding an artificial variable, 3x + 4y + U 1 = 100 and, of course, a — M cost is assigned to the artificial variable U x in the objective function. Summary. We have seen how four types of relationships are pre- pared for the simplex matrix array. Consider a hypothetical prob- lem involving three of those relationships in a system. Restriction: Ix + 6y < 84 Maximize ax + by (a and Requirement: bx + 2y > 15 b are unit costs or profits Approximation: 6x + by ^ 50 for x and y respectively) The above system prepared for the simplex matrix array would then be: Maximize ax + by + 0. W x + 0- W 2 - W 3 - W 4 - MU X subject to Ix + 6y + W 1 = 84 bx + 2y - W 2 + U x = 15 6x + by - W 3 + W 4 = 50 and the 3x7 matrix array is then as shown in Figure 70. 94 ELEMENTARY MATHEMATICAL PROGRAMMING a b -1 -M -1 X y w 2 w 3 w, u. w 4 w, 84 7 6 1 u, 15 5 2 -1 1 w 4 50 6 5 -1 1 Fig. 70. Initial Matrix Array This system of three relationships can be represented graphically and solved rather easily with the graph. Figure 71 illustrates the system and can be interpreted as follows: 16 18 Fig. 71. Graph of System Containing a Restriction, Requirement, and an Approximation The ordinate forms one boundary and the abscissa another boundary to the area of possible solutions. These lines represent the relationships which are implicit in the linear programming problem. Line AB represents the locus of points satisfying the relationship. 5jc + 2y = 15 The area to the right of line AB and bounded by line AB and the THE SIMPLEX METHOD 95 ordinate and abscissa represents the locus of points satisfying the relationship 5jc + 2y > 15 Line CD represents the locus of points satisfying the relationship 6x + by = 50 The area to both sides of line CD represents the locus of points satisfying the relationship 6x + by & 50 Line EF represents the locus of points satisfying the relationship lx + 6y = 84 Area EFO represents the locus of points satisfying the relationship lx + 6y < 84 In this problem then the area AEFB represents the locus of points satisfying all three of the relationships. The problem can be solved graphically by superimposing the objective function on the graph as previously indicated. SIMPLIFICATIONS The simplex method is somewhat tedious, and so it makes good sense to strive for formulations as small and efficient as possible. There are basically two techniques that may be employed to elim- inate rows and /or columns in the simplex matrix array. They are: 1 . Elimination of redundant expressions and variables. 2. Algebraic substitution. These simplification techniques will be explained via illustrative examples. Redundant Expressions. One of the prime characteristics of math- ematical programming problems is the presence of more variables than number of expressions. Many problems will possess this characteristic. However, occasionally a problem will be encoun- tered possessing more relationships than variables. This usually indicates the presence of redundant expressions. Consider a prob- lem represented by the following formulation: 96 ELEMENTARY MATHEMATICAL PROGRAMMING x 3 + x 4 < 10 (1) x x + x 2 < 20 (2) x 3 + x 4 < 15 (3) 3x 3 + 2x 4 < 52 (4) 4jc x + 3x 2 < 52 (5) 2jc 2 + 3x 4 < 26 (6) x, + 2x 3 < 52 (7) In all, the problem is represented by seven relationships com- bining only four real variables. To solve the problem in this form would require a 7 X 11 matrix array (seven rows and eleven columns or seven relationships combining the four real variables and seven slack variables). This is the reverse of the usual formulation in mathematical programming because ordinarily the number of real variables exceeds the number of relationships. There is every possibility then that one or more of these relationships are redun- dant or unnecessary. Inspection of the seven relationships will show which ones are the truly limiting expressions for the four variables. For example: It can be observed that relation 1 nullifies relation 3. Similarly, if relation 2 is multiplied by the number 3, then relation 5 nullifies relation 2. Finally, relation 1 nullifies relation 4. Now, since x{ is limited to a maximum of 13 by relation 5, and x 3 is limited to a maximum of 10 by relation 1, then relation 7 is nullified. This means that relationships (2), (3), (4), and (7) are redundant limita- tions, and the problem can be adequately expressed by the system: x 3 + x 4 < 10 4x 1 + 3x 2 < 52 2x 2 + 3x 4 < 26 This system will require a 3 X 7 matrix array (three rows and seven columns or three relationships combining the four real vari- ables and three slack variables). In terms of the quantity of num- bers in the array, the simplification by elimination of redundant expressions reduces the size of the matrix to approximately one quarter of its original size. In general, whenever the number of expressions is the same or exceeds the number of real variables, the chances are that one or more of the expressions are redundant and can be thrown out. However, it is well to note here that the type of relationship must be carefully considered. In fact, it often pays to check the relation- ships for redundancy and also for practicability. An error in form- THE SIMPLEX METHOD 97 ulation may have a requirement that a variable be of a size some- what larger than the limitation imposed by another restriction. In general, however, the major portion of mathematical programming problems will rarely present more expressions than variables. Redundant Variables. Redundant variables can be recognized when the initial simplex matrix is established. A variable and its entire column in an array can be thrown out when two or more columns in the array are identical, element for element, except for the objec- tive number. For two identical columns in the array, it can be verified (via the formula used to calculate the new numbers in a new table) that the two columns will always remain the same. This means that, if the variable in either column enters a solution, it will be that variable with the more algebraically maximum objective number. The other variable in the identical column can never enter a solution. Hence that column can be eliminated entirely from the array. In general, then, when two or more columns in an array are identical, element for element, the column with the most algebrai- cally maximum objective number is retained. The remaining identical column(s) is (are) entirely deleted from the array. The removal of redundant columns in no way affects the problem or its solution(s). It does, however, reduce some of the calculations required in successive iterations. This can, in some instances, re- duce the problem to where the optimum solution is obvious. Algebraic Substitution. Algebraic substitution also offers a con- venient means of reducing the size of a formulation in certain situ- ations. For example, consider a problem somewhat similar to a previous problem. Maximize: llx + Ay subject to 7x + 6j < 84 (1) 4x + 2y < 32 (2) x> 2 (3) y 2> 3 (4) where relationships 1 and 2 represent equipment producing capacity limitations, and relationships 3 and 4 can be considered as firm customer orders or commitments. The above problem can be set up for the simplex method and put into a matrix array rather easily. The two restrictions 1 and 2 merely require the addition of a slack variable. The two require- 98 ELEMENTARY MATHEMATICAL PROGRAMMING ments 3 and 4 must have a slack variable subtracted and then an artificial variable added. The system would then be: Maximize, lis + 4 y + o. W 1 + 0. W 2 + 0. W 3 + 0. W, - MU X - MU 2 subject to Ix + 6y + Wi = 84 (1) 4* + 2j + W 2 = 32 (2) x - W, + tf x = 2 (3) j - W 4 + C/ 2 = 3 (4) The problem is then represented by a system of four equations combining eight unknowns or a 4 X 8 simplex matrix array as indi- cated in Figure 72. 11 4 -M -M X y w 3 w 4 w, w 2 Ui u, W, 84 7 6 1 w 2 32 4 2 1 -M u, 2 1 -1 1 -M u 2 3 1 -1 1 Fig. 72. Initial Simplex Matrix before Simplification This problem can be simplified by algebraic substitution, thereby materially reducing the matrix dimensions and the amount of cal- culation. If, in the original system, maximize llx + Ay subject to Ix + 6y < 84 Ax + 2y < 32 jc>2 y>3 we let x' = x — 2 y = y - 3 then, from relationships 3 and 4, since jc - 2 >0 J -3>0 it follows that x r >0 y >o THE SIMPLEX METHOD 99 which need not be explicitly written since it is implicit in the sim- plex method. We then substitute. x' + 2 = x y + s = y and the system becomes: Maximize ll(x' + 2) + 4(/ + 3) or subject to 11*' + 4/ + 34 7(x' + 2) + 6(/ + 3)<84 7x' + 6y < 52 (10 4(*' + 2) + 2(y + 3)<32 Ax' + 2y < 18 (20 (x' + 2) > 2 *'>0 (30 (y + 3)>3 y >o (40 Since the relationships 3' and 4' are implicitly met in the simplex method, these need not be explicitly written. Hence the problem is now expressed effectively in two restrictions, and the initial simplex matrix is as shown in Figure 73. -34 11 4 x' / W, w 2 w, 52 7 6 1 w 2 18 4 2 1 Fig. 73. Initial Simplex Matrix after Simplification It is rather obvious that a considerable degree of work has been saved by the algebraic substitution. In this case, the problem matrix is one quarter of its former size. Note that the number in the constant column and objective row is not zero as it always has been up to now. In situations where algebraic substitution has been employed, the objective function no longer represents the true ob- jective function of the problem as originally stated. This modified objective function, when used with the simplex method, will not yield the true optimum value if the constant part of the function is not included as shown in the matrix (Fig. 73). If we consider the 100 ELEMENTARY MATHEMATICAL PROGRAMMING 10 16 B sr 1 1 1 1 1 • 1 1 14 \ ^-x>2 — 12 F Kn - 10 — \\j^7x + 6y£ 84 — 8 6 \ \ < ~4x + 2y<32 4 - E \ \ S"* 3 - 2 - h\ \ i i Xc I \d 1 1 10 12 14 16 18 Fig. 74. Problem Graph geometric analysis of this problem, this point can be more readily seen. In Figure 74, all four of the problem relationships are shown. The four relationships enclose an area EFGH as the area of possible solutions to the system. Essentially what the algebraic substitu- tion accomplished was to move the origin from O to E so that the problem in variables x' and / appears graphically as in Figure 75. In the graph of the simplified problem (Fig. 75), we can see how the two requirements are now the ordinate and abscissa of the new variables graph. Area EFGH is the area of possible solutions. In the objective function, if the —34 is dropped in constructing the matrix array, then the optimum value for the objective func- tion will apply to the variables x' and /. If, however, the —34 is retained (as in Fig. 73), then the optimum value of the objective function will apply to the real variables x and y, and the simplex calculations will yield the optimum value of the real objective function directly. Many possible substitutions may be employed, depending on the problem at hand. Almost any kind of substitution is valid as long as no possibility exists for a negative value of a real problem vari- able. For example, if we attempt a substitution where x < 10 THE SIMPLEX METHOD 10 1 i 1 1 1 1 1 1 9 Sr" -F - 8 ^ - 7 - 6 — 5 \^-4*' + 2y<18 - 4 \ \^ 7 * + ^ - 52 - 3 - 2 - l' 1 1 1 IWI 1 \ 1 - 101 E 123456789 x' Fig. 75. Simplified Problem Graph then 10 <0 We can multiply both sides of the relationship by — 1 and reverse the inequality sign so that -x + 10 If we let x' = -x + 10 > and proceed with this substitution, the resulting formulation will not be valid. The above substitution is no good in that, if x' should attain a value larger than 10, the real problem variable x will be negative. For example, if then x' = 15 x' — —x + 10 x = 10 - 15 x = —5 which means that the variable x is consumed rather than created, and violates the basic requisite that all variables be greater than or 102 ELEMENTARY MATHEMATICAL PROGRAMMING equal to zero. The above substitution could be used if the restriction x' < 10 is included in the formulation. This, however, defeats the simplifi- cation purpose of substitution, since the problem remains the same size as before the substitution. In many problem formulations, particularly if the problem is to be solved by hand, the time is well spent in investigating simplifi- cation possibilities. Algebraic simplification is very evident in problem formulations. Redundant columns are easily recognized and eliminated. However, it is generally more difficult to spot re- dundant relationships in a system, in that they are not always so obvious as in the preceding example. DISTRIBUTION-TYPE PROBLEMS Distribution-type problems like those presented in the preceding chapter can be solved with the simplex method. Actually it is foolish even to consider using the simplex method to solve distribu- tion problems, owing to the simplicity of the distribution methods. However, it is worth while to look at the characteristics of distri- bution problems in the simplex set-up because occasionally one may encounter a problem that might be simplified into a distribution- problem form and solved much more easily. Consider the distribution problem from the preceding chapter: Supply Units Demand Units Flint 150 Chicago 90 Janesville 40 Cleveland 70 St. Louis 80 Dayton 50 Minneapolis 60 270 270 Shipping costs per unit: To From" Chicago Cleveland Dayton Minneapolis Flint Janesville St. Louis $27.00 10.00 30.00 $23.00 45.00 54.00 $31.00 40.00 35.00 $69.00 32.00 57.00 THE SIMPLEX METHOD 103 This problem can be formulated as follows: Let x tj = number of units shipped from source i to destination j Cij = shipping cost per unit from source i to destination j S t = number of units of supply at source i Dj = number of units of demand at destination j i = (1, 2, 3) the supply points / = (1, 2, 3, 4) the customers or shipping destinations then the supply can be expressed as Xn ~r x 12 ~r #13 i #14 — *^i — 150 (1) •^21 "I *^22 ~l *^23 ■" *^24 — *^2 — 40 (2) #31 i #32 T #33 T #34 = ! *^3 = 80 (3) and the demand #11 I #21 I #31 ~~ -*-'l — 90 (4) Xio ~| *^22 "I *^32 — J *-^2 — 70 (5) #13 i #23 I #33 — ~ J-^3 ~~ 50 (6) •vi 4 "T* *^24 "l ** / 34 — -^-^4 — 60 (7) and the objective function is 27Xn + 23x 12 + 3Lx 13 + ••• + 35jc 33 + 57x 34 = minimum Hence the 3x4 distribution problem from the preceding chapter is expressed in the above seven equations. The equations can be readied for the simplex method by the addition of artificial vari- ables. The objective function must be maximizing rather than minimizing. Therefore, the problem must appear as: Maximize -27*!! - 23x 12 - 31x 13 35x 33 - 57x 34 - MU 1 - • Ml subject to #11 + #12 + #13 + #14 + U x = 150 (1) #21 1 #22 i #23 I #24 T ^2 = ^^ (2) #31 I #32 1 #33 T #34 1 ^3 = "^ (3) #11 ~T #21 l #31 1 U 4 — C/U (4) #12 ~T #22 T #32 H~ U 5 — /U (5) *i3 + x 23 + x 33 + U e = 50 (6) *i4 + x 2i + x 3i + U, = 60 (7) This formulation would then appear as shown in Figure 76. Two important characteristics can be noted in this distribution problem. All the coefficients of the variables are unity, and they fall into a rather orderly pattern (a row of one's with a stair-step 104 ELEMENTARY MATHEMATICAL PROGRAMMING 1 rT - t D - 1 z> - 1 ^ - 1 z$ - 1 id - 1 d - 1^ 1 X - - CO 1 X - - "3- 1 * - - O CO 1 X - - CN CO 1 X - - <=> 1 X - - U1 *3" 1 X - - CD 7 X - - 1 X - - co 1 X - - CO CM 1 X - - CM 1 X - - CD CD oo o* o CD so rf :d D ^ d? D 1 1 1 1 1 1 1 a E «7> <D C E j» O v> a. c o 3 THE SIMPLEX METHOD 105 pattern of one's) in the simplex matrix. This is characteristic of all distribution-type problems. If a problem is formulated and ap- pears in the matrix array with this type of pattern, then the prob- lem is a distribution-type problem and can be much more easily solved with the distribution methods previously outlined. An additional advantage is derived in using the distribution methods in that one does not usually have to deal with as many artificial variables and their — M costs. The characteristic arrangement of numbers in the simplex matrix array can be used as the basis for some approximation solutions. In some problems it may be possible to modify the matrix arrange- ment and to approximate unity numbers so that the problem can be solved more quickly and easily as a distribution problem. Con- sider a simplex matrix (body of the array only) as shown in Figure 77. 3 -6 4 2 5 3 8 6 -2 12 X, *2 *3 x 4 *5 *6 *7 *8 X, *,0 200 9 11 10 8 12 60 1 1.3 1.1 0.85 0.90 12 2 1 33 2 1 15 2 1 14 2 1 28 2 1 Fig. 77. A Problem Formulation Exhibiting the Distribution-Problem Pattern This particular array has the pattern of a distribution problem, but it lacks unit numbers in the array. However, the unit number pattern can be effectively approximated if we divide the first five columns by two (element by element). Then, if the first row is di- 106 ELEMENTARY MATHEMATICAL PROGRAMMING vided by 5 and the numbers are rounded off to unity, and if the numbers of the second row are rounded off to unity, the distribu- tion pattern exists (Fig. 78). 1.5 -3 2 1 2.5 3 8 6 -2 12 *'l x' 2 *' 3 x' 4 x' 5 *6 *7 *8 X, *I0 40 1 1 1 1 1 60 1 1 1 1 1 12 1 1 33 1 1 15 1 1 14 1 1 28 1 1 Fig. 78. A Problem Formulation with Distribution Pattern Approximated These manipulations are completely legitimate because in matrix algebra one can do any of the following without changing the value of the matrix: 1. Any row(s) or any column(s) may be interchanged in position in the array. 2. Any row(s) or any column(s) may be multiplied element by element by any quantity. The problem (Fig. 78) has the exact distribution form. Note that the first five columns are now indicated as x primes (x\, x' 2 , •••, x' 5 ) because they are not now exactly the same variables as before. Note also how the numbers in the first two rows have been rounded off to unity. This means that the formulation as it now stands is an approximation to the exact formulation (Fig. 77). However, the problem can now be represented as a 3 X 5 distribu- tion problem (Fig. 79), which can be rather easily solved. THE SIMPLEX METHOD 107 \. To From ^s. t 9 h ' /' Supply a 1.5 -3 2 1 2.5 40 b 3 8 6 -2 12 60 Dummy 2 Demand 12 33 15 14 28 102 Fig. 79. Distribution Matrix Approximation of Problem from Fig. 77 It must be kept in mind that the solution to the distribution form of the problem (Fig. 79) is really an approximation. That solution may have to be slightly altered in order to obtain a practical solu- tion to the original problem. However, it is evident that consider- able time and effort can be saved in solving the problem in this manner. The approximate solution may be within 10 per cent (or less) of the very best solution and can therefore be more truly opti- mum when the cost of the solution is considered in any comparison. This and other approximation methods are more fully expanded later in the book. THE DUAL PROBLEM For most mathematical programming problems it is possible to formulate the problem in two ways. These two formulations are generally referred to as the primal and dual problems. 26 An example of the primal and dual problems can be shown via the manufacturing problem presented earlier in this chapter. The manufacturing problem presented earlier (to illustrate the basic simplex method) was represented by the formulation: Maximize subject to llx + 4y 7x + 6y < 84 4x + 2y < 32 26 Charnes, Cooper, and Henderson, op. cit, pp. 31-36. 108 ELEMENTARY MATHEMATICAL PROGRAMMING The above system appears in tabular form 11 4 X y 84 > 7 6 32 > 4 2 It can be seen that the formulation was prepared horizontally with the preceding number array. Suppose now that we assign new variables (z 1 and z 2 ) to the first and second rows, respectively. Then it would be possible to prepare a formulation vertically. The original formulation of the problem will be referred to as the primal problem. The matrix appears as follows: 11 4 x y z 1 84 > 7 6 z 2 32 > 4 2 If we cross out the old variables x and y, then the formulation of the dual problem may result as follows. Minimize subject to or 84z x + 32z 2 7zi + 4z 2 > 11 6z x + 2z 2 > 4 -84 - -32 Zi 2 2 11 < 7 4 4 < 6 2 Note that the objective (maximization or minimization) of the dual problem is the reverse of the primal problem. Note also that the constant column of the primal problem becomes the objective function of the dual. Similarly, the objective function of the primal is the constant column of the dual problem. It can be seen also that the inequality signs are reversed in the dual problem. These changes and comparisons are completely general and apply equally well to any problem formulation. Figure 80 shows the successive iterations of the simplex solution to the dual for this particular problem. By this time the diligent reader will probably wonder about the THE SIMPLEX METHOD 109 -84 -32 -M -M z, *2 w\ W' 2 ~Uu u 2 ck -M w, 11 f 4 -1 1 22 (-M u 2 4 6 2 -1 12 -15M -13M + 84 - 6M + 32 M M - 32M + 116 -M U, '% -1 % 1 -% 8 £-84 z. % 1 Vz -'/« % 19M 3 -56 5M 3 (+ a) M 7M 6 + 14 13M 6 -14 - 6M -52 (-M U, 3 -5 -1 ( 2 ) 1 -2 -0 -32 *2 2 3 1 -V2 y 2 6 - 3M -64 + 5M -12 M - 2M 3M -16 4M -76 w 2 3 /2 -% -y 2 i y 2 -1 -1 -32 z 2 n /4 7 /4 1 -% 14 n/ 2 -88 28 8 M -8 M 2M -60 Fig. 80. Simplex Solution to the Dual of the Manufacturing Problem practical value of the dual problem and what definition can be attached to the variables in the dual. In the particular problem shown, it is very evident that the dual presents considerably more work to solve than the primal problem (a 2 X 6 matrix solved in three iterations for the dual versus a 2 X 4 matrix solved in one iteration for the primal). However, in other problem situations 110 ELEMENTARY MATHEMATICAL PROGRAMMING the reverse may be true; hence the dual would then be easier to solve. The variables in the dual formulation (z 1 and z 2 ) do have a very realistic interpretation. These variables actually represent the marginal profit (or costs, if it were the case) for the two manufac- turing processes. To clarify this point let us look at the solutions (optimum matrices) to both the primal and dual problems. 11 4 w, w 2 -84 -32 -M -M X y w, w 2 2-1 *2 W, W a u, u 2 w, 28 5 /2 1 -% W' 2 % - 5 /2 -y 2 1 y 2 -1 11 X 8 1 '/a Va -32 *2 H /4 7 /4 1 -14 i& 88 % n /4 -88 28 8 M -8 M Primal Solution Dual Solution Fig. 81. Optimum Solution Matrices for Both the Primal and Dual of a Problem In the analysis and interpretation of the optimum solution ma- trix for the primal problem, we established an interpretation for all the numbers in the constant column and index row. The interpre- tation is: Constant column numbers— represent the value of the variables in the solution. Index row numbers Under the body of the matrix— represent the amount of algebraic decrease in the objective function if one unit of that variable were introduced into the solution. Under the identity — represent the opportunity profit or potential algebraic increase in the objective function if one more of that vari- able were available in the initial solution. In terms of economics, the numbers in the index row actually represent the marginal profit (or cost) of the variables in the respec- tive columns. We can note from the solution to the primal problem the marginal profit (or cost) for variables y and W 2 . Marginal profit for y = l h Marginal profit for W 2 = l l A We can then see that these two marginal values coincide with the values of W' 2 and z, in the dual solution. Therefore, the variables in the dual represent the marginal profit or cost for the variables THE SIMPLEX METHOD 111 of zero value in the optimum solution to the primal problem. A similar analysis holds true for the index row numbers of the dual solution. Solution, then, of the primal also solves the dual or vice versa. One can see from Figure 81, if one solution (either the primal or dual) is obtained, that the entire matrix array for the other solu- tion can be rather easily constructed. This fact, then, permits one to formulate and solve either the primal or dual problem, whichever is the easier. In general, a formulation with fewer rows will require fewer iterations. 27 In examples such as the one preceding, where both primal and dual formulations have the same number of rows, the formulation with fewer columns will generally require less work. The general form of the dual programming problem illustrates the comparison between primal and dual formulations. The gen- eral form of the primal is to maximize a function z where ex subject to Ax < b x>0 where z = the maximizing objective function c = the objective coefficients of the variables x = the variables of the problem A = the matrix array— the coefficients of the variables in the various restrictions of the problem b = the numbers of the constant column The dual formulation for this primal is to minimize a function g where g = bw subject to wA' > c w>0 where w = the variables of the dual corresponding to the marginal cost or profit of the variables of the primal A' = the transpose matrix array of the primal The remaining definitions for the symbols are the same as for the primal. A problem formulation must be put in either of the above forms Charnes, Cooper, and Henderson, op. cit, p. 33. 112 ELEMENTARY MATHEMATICAL PROGRAMMING in order to formulate the dual. The dual formulation can be accomplished for a system that contains equations; however, this is beyond the scope of this textbook. Knowledge of the dual formulation and its interpretation can be of considerable value in many larger problems by permitting a solution to be obtained via whichever formulation is more compu- tationally convenient. Then, too, the real problem may actually require only the marginal costs or profits, or the solution to the dual rather than primal formulation. It has been indicated 28 that the dual could be used to establish these marginal costs or profits or "shadow prices," and thereby provide management with a guide to operating alternatives at various levels of operation. MODIFIED SIMPLEX METHOD 29 Up to this point the discussion has centered about the basic simplex method, which can be successfully used to solve all types of linear programming problems. However, as one encounters typ- ical problems, the question of computational efficiency arises, par- ticularly in problems involving artificial variables, whether the prob- lems are solved by hand or with automatic calculating machines. The modified simplex method affords a convenient means of dealing with the high-cost factors ( — M) associated with artificial variables. In solving these matrices by hand, the — M cost factors make the calculations in the index row very tedious and cumbersome. Then, too, an artificial variable may remain in the successive solutions until one of the last iterations, causing more work in every iteration. In using automatic calculating equipment another difficulty arises. The — M must be assigned some numerical value many times larger than the other coefficients in the objective function. This means that the calculating equipment must be capable of handling widely differing numerical values. Then, too, if one does not choose the numerical value for — M rather judiciously, it is possible that one or more artificial variables will remain in the optimum solution, yielding an incorrect solution to the problem. The modified simplex method or two-phase simplex method has Ibid. See also Koopmans, op. cit. Also known as the "two-phase method." THE SIMPLEX METHOD 113 been developed along two lines; hand and automatic computation. One group from the Rand Corporation, notably G. B. Dantzig and W. Orchard-Hays, 30 and one group from International Business Machines Corporation, notably Kurt Eiseman, 31 have developed the modified simplex method from the standpoint of calculating efficiency with high-speed computing equipment. A very suitable extension of the method, primarily for hand calculation, has been presented by H. M. Wagner. 32 The essence of the hand-calculation method will be presented here. In general, the modified simplex method can be applied to prob- lems involving artificial variables and requires two phases or sets of calculations. Phase I involves solving the problem with the usual simplex method but with a modified objective function. The objective function established is one that tends to minimize the artificial variables or it would appear: Maximize O'X, + 0-jk 2 + ••• + 0- w 1 + o- w 2 u 1 - u 2 - •-•• where x 19 x 2 , jc* = real variables W 19 W 2 , Wi — slack variables U u U 2 , Ui = artificial variables In phase I, the system remains unchanged; only the objective function is modified as indicated above. Phase II takes place after phase I is complete and involves replacing the modified objective function of phase I with the real objective function of the problem, revising the index row values, and continuing with the basic simplex calculations until an optimum has been obtained. Phase II will take either of two courses, de- pending on the problem at hand. In the first case, where phase I eliminates all the artificial vari- ables, then phase II can proceed straight forward as indicated above. In the second case, phase I has not eliminated all the arti- ficial variables, and some remain in the solution stub with a zero 30 See Bibliography for a listing of the works of these two authors in this area. 31 K. Eiseman, "Linear Programming," Quarterly of Applied Mathematics, V. XIII, No. 3, October 1955, pp. 209-323. See also K. Eiseman, "Linear Programming— Recursive Generation of Vectors for the Modified Simplex Method," IBM (mimeo- graphed), New York, 1956. 32 H. M. Wagner, "A Two Phase Method for the Simplex Tableau," Journal of Oper- ations Research Society of America, V. 4, No. 4, August 1956, pp. 443-447. 114 ELEMENTARY MATHEMATICAL PROGRAMMING value. 33 Here it is required that the index row be brought into the array, and the array increased by another row and column, in order to continue with phase II. This will be further developed after a sample problem is used to illustrate the first case of the modified simplex method. Consider the system developed previously (Fig. 80) as represent- ing a problem formulation 34 where we wish to: Maximize -84z, - 32z 2 subject to lz x + 4z 2 > 11 6z, + 2z 2 > 4 Figure 80 shows the successive iterations in solving this problem. Here is an example where one artificial variable remains until the last iteration, causing manipulation of many complex index row numbers involving the — M cost factor. If we wished to apply the modified simplex method to solving this problem, the objective function must be temporarily modified to: Maximize - 17, - U 2 where the complete system (including necessary slack and artificial variables) is 7z 1 + 4z 2 - - W'. + U^ll 6z 1 + 2z 2 - -W' 2 +U 2 = 4 Figure 82 shows the phase I calculation of the modified simplex method for this problem. Note that phase I requires the same number of iterations (three iterations) as in the solution to the problem with the basic simplex method (Fig. 80). It can be easily seen that the numbers in the index rows are considerably simpler and require less time and effort to calculate. At the completion of phase I, since no artificial variables remain in the solution stub, phase II can proceed by merely inserting the 33 It can be verified that, for an optimum to exist, the artificial variables remaining in the stub must have a zero value. If one or more artificial variables have a value > 0, and all index row values are > 0, then no optimum solution exists for the prob- lem, and either the formulation is in error, or the problem has no feasible solution. In dealing with problems in the real world, more than likely the former will be true. See Charnes, Cooper, and Henderson, op. cit, p. 17. 34 Forget for the moment that this problem has a rather easily solved dual. This problem will permit rather easy comprehension of the modified simplex method. THE SIMPLEX METHOD 115 1 U, w u 2 19 /3 Q ck -1 u, 11 r? 4 -1 1 22 (-1 u 2 4 6 2 -1 1 '0 -15 -13 -6 1 1 -32 c % K 3 - 19 /3 % % -6 (-1 U, 3 -5 -1 r 1 -2 -0 *2 2 3 1 -v 2 V2 6 -3 5 1 -2 3 4 w 2 3 /2 - 5 /2 -y 2 i '/a -1 -1 z 2 n /4 7 /4 1 -y 4 K iy 2 1 1 2 Fig. 82. Phase I Modified— Simplex Method correct objective function and calculating the proper index row. No further work will be required in phase II because in this prob- lem the optimum was obtained by phase I. Occasionally problems will require an iteration or so in phase II. 84 32 -M -M W -32 Z| *2 w, W 2 f, U 2 ck 3 /2 - 5 / 2 -y 2 1 16 -1 -1 ], /4 7 /4 1 -% ] /4 M n/ 2 2M 88 28 8 -8 M -60 Fig. 83. Phase II Modified Simplex Method— Optimum Solution Obtained by Part I Note: The — M's were re-established for the artificial variables. The — M's could have been replaced by zeros as long as the artificial variables are not permitted, regardless of index number, to re-enter the stub in any successive iteration. 116 ELEMENTARY MATHEMATICAL PROGRAMMING Usually the number of iterations with the modified simplex method will be of the same order as in the basic simplex method. The advantage in the modified simplex method as shown in the above example is in elimination of the artificial variables and their — M cost coefficients in a very efficient manner. Sometimes phase I will not eliminate all of the artificial variables from the solution stub. When several remain in the solution stub with a zero value, 35 then phase II must be handled slightly differ- ently. Before phase II can begin, it is necessary to retain the index row of the last iteration of phase I by bringing it into the matrix array as an additional row. This also requires that a new variable (we will use Q here) be assigned for that new row, and a column with this variable created at the right-hand end of the array (see Fig. 84). The solution may then be attained by straightforward application of the simplex method after the original objective func- tion is reinstated and the new index row calculated. It is recom- X, x 2 ... ... ... u. u 2 ... ... Q X, (a) X \ y y • x • N > (°) < / ... u. • \ • / \ Q lb) 1 (c) Fig. 84. Matrix Organization for Phase II— Modified Simplex Method a. The matrix array as obtained in phase I b. The index row from phase I c. The index row for phase II 35 See comment contained in footnote 33. THE SIMPLEX METHOD 117 mended that zero's be assigned to the artificial variables instead of the original —M's. The variable Q in phase II must never be considered as the key row in any subsequent iterations. The variable Q is assigned a zero cost in the objective row; hence the new row will not affect the phase II index row values. This new row in the matrix is equiva- lent to an additional redundant equation which assures that all the artificial variables remaining in the stub in successive iterations will be zero. This, thereby, permits the computations to continue with a zero cost rather than the — M's attached to the artificial variables. The modified simplex method, while it does not change the basic simplex method, does offer an efficient means of handling problems with many artificial variables. The relative ease in computing with — 1 costs (phase I) and zero costs (phase II) for the artificial vari- ables is rather evident in the previous example. Though one may not necessarily encounter many problems of this type, the modified simplex method is a useful and worth-while extension of the basic simplex method. SUMMARY The simplex method has been presented in an understandable step-by-step manner. The problems and examples, though they are not actual problems in the real world, were chosen as illustra- tive examples. Subsequent chapters will follow the step-by-step development and solution of typical business and industrial problems. It may be well to consider here in summary the major require- ments of a linear programming problem. They are: 1. There must be a number of choices, alternatives or ways of taking action. 2. There must be a rate of efficiency difference between the alternatives. 3. There must be an interrelationship of the variables in significant expressions (the system of relationships). 4. There must be a set of restrictions, or upper limits, or that which must not be exceeded. (This may be implicit in a problem.) 5. There must be a set of requirements, or lower limits, or that which must at least be accomplished. (This is very often implicit in the formulation.) 6. There must be an objective or goal to strive to attain (minimum costs, maximum profits, etc.). 118 ELEMENTARY MATHEMATICAL PROGRAMMING 7. There must be common units of measure for the variables. The above are necessary for a linear programming problem, but they are not necessarily sufficient in themselves for all problems. One can see, from the above, that linear programming has one very stringent limitation, in that the variables must be combined in linear expressions. Although many types of problems fit within this limitation, there are many more that do not. Considering the relative newness of the entire field of mathematical programming, it seems feasible that further research should be able, in time, to circumvent this and other limitations. Some work has been done to date in nonlinear and quadratic programming 36 for other classes of problems. The simplex method is usually used to solve systems of linear inequalities, but it compares very favorably with the usual elimina- tion methods in solving systems of linear equations. In fact, the modified simplex method would seem to offer an even better ap- proach to solving these types of problems, either by hand or with computing equipment. The simplex method and its various short-cuts, extensions, and simplifications are not really too difficult. In fact, the method can be successfully taught to individuals who have had little more than high school freshman algebra. This, by no means, implies that any- one can tackle mathematical programming problems. Considerable knowledge and skill are required to recognize a problem and to formulate the problem properly. When the problem is solved, usu- ally more skill is required again in analyzing the solution and its alternatives, and in presenting them to management in terms that they will understand as possible courses of action. Here is where the talent must be developed, in recognizing a problem, in preparing the formulation, and in analyzing the final solution(s). Subsequent chapters will consider various examples, some hypothetical, some from actual situations in industry, to illustrate types of problems and their formulation and solution via mathematical programming. 36 L. E. Saline, "Quadratic Programming of Interdependent Activities for Optimum Performance," ASME paper No. 54-A-58, 1954, 21 pp. n Many problems may be suitably solved by an appropriate approximation. Very often an approximation to the optimum may be more useful and economical than the absolute optimum solution. There are, in general, four problem situations where approximation methods can be employed. These are: 1. When the approximate solution presents sufficient information for decisions— this type of problem solving is directed at providing better infor- mation for management decisions. Often an approximate solution can provide that information without the more formal mathematical solution. 2. When the mathematical formulation is too large for computation— without data-processing equipment, this size limitation can be very easily reached. Size is often a limiting factor, even with suitable calculating equipment. In these cases, then, the approximate solution is the only solution obtainable. 3. When the additional return from the optimum solution is less than the additional effort or cost required— often an approximate solution is so close to the mathematically optimum that the additional cost of the optimum solu- tion is not justifiable. Here, when one considers the broader economic comparison, the approximate solution is more truly optimum than the mathematically optimum solution. 119 120 ELEMENTARY MATHEMATICAL PROGRAMMING 4. When the data in the formulation are estimated— often one must estimate data in constructing a formulation. Here, then, the mathematically optimum solution is very questionable. Usually an approximation to the optimum will present a suitable solution. Several approximation methods are considered here. They run the gamut from little more than a formalized inspection routine to rather involved mathematical methods. Not all the approximations discussed here have proper names, and by no means do these rep- resent all the possible approximation methods. Often an approxi- mation method is tailored to the particular problem at hand; hence they may be unlimited in number and variety. The index method, nora method, approximation to multidimensional distribution problems, and a means of bounding the optimum value of the objective function will be discussed. THE INDEX METHOD The index method is a relatively simple approximation method for solving product allocation problems— more specifically in deter- mining what process should produce what job(s) so that the least total time (or money) is spent in manufacturing. This method is dependent, to a large extent, upon a degree of judgment on the part of the person solving the problem. The method can best be seen via a small problem. A Problem. An organization must schedule ten orders on four machines. They are interested in improving upon the present means of scheduling and machine assignment. The orders and the time requirements on the various machines are as shown in Figure 85. Often the producing alternatives are not recognized, and rarely is the information organized as in Figure 85. The person assigning this work to the machines might make the assignments as the orders are received: assigning orders to the best machine until it is fully loaded, then to the second best machine, etc. This type of assign- ment plan would result, in the problem at hand, in assignments as shown in Table 7. The assignments are such that they can be accomplished in the available machine time. However, it may be possible by slightly different assignments to accomplish all the work in less total time. If this is possible, then the manufacturing capacity of the machines APPROXIMATION METHODS 121 Order Time Required per Order, hours No. Machi nes A 6 C D 1 10 12 18 25 2 5 6 12 18 3 8 8 10 15 4 12 14 . 14 20 5 20 25 27 35 6 15 19 23 30 7 14 14 16 20 8 17 19 25 27 9 8 10 16 30 10 9 12 18 25 Available Time 40 40 40 120 Fig. 85. Time Required per Order on the Various Machines Note: The time values include necessary set-up and tear-down. will be increased, thereby allowing more work to be accomplished in the same time. One means of improving the assignments is by inspecting the net effect upon total time requirements of trading orders from one machine to another. With practice, this can become a reasonably efficient means of obtaining better machine-load assignments. However, as with most inspection methods, this becomes increas- ingly complex as the number of orders and number of machines increases. A regular machine-shop schedule with at least 10 to 20 machines and one hundred or more orders would present an almost unsolvable problem by most means of inspection. Table 7 Order Assigned to Time No. Machine Required, hours 1 A 10 2 A 5 3 A 8 4 A 12 5 B 25 6 C 23 7 B 14 8 D 27 9 C 16 10 D 25 Total Time Required 155 hours ( s 122 ELEMENTARY MATHEMATICAL PROGRAMMING In analyzing work-assignment problems, like the one shown in Figure 85, the relationship between the time values for an order on the various machines must be considered. This relationship leads to the development of the index method for machine assignment. The index method utilizes the same problem organization as in Figure 85 with the addition of index numbers. Every order has an index number for every alternative machine (the index number is one for the best machine: i.e., the one with the lowest manufactur- ing time). The index number is the quotient of the actual machine time divided by the very best machine time. Index number = actual machine time best machine time For example, the index numbers for order 1 are: Machine A = (no index number since this is the best machine) , T , . „ 12 (actual time) . Machine B = v — U- = 1.2 10 (best time) Machine C = ^ = 1.8 Machine D = |§ = 2.5 Actually the index numbers indicate the time relationship be- tween an alternative machine and the best machine (i.e., machine B requires 1.2 times as much time as machine A for order 1). Index numbers are rather easily determined for the remaining orders and are as shown in Figure 86. Note that the index numbers are in parenthesis so as not to confuse them with the machine time per order. The index method develops the machine assignments in the following steps: 1. Assume that all work is assigned to the very best machine. This then overloads the very best machine. 2. Find the order with the smallest index number in the columns for the alternative machines (8, C, and D in this case). 3. Remove that order from the very best machine, and assign it to where the index number is the smallest. Assign the order to the lowest-order alternative machine if two or more have the same index number. 4. Check the remaining time requirements for the very best machine. APPROXIMATION METHODS 123 Hours per Order and Index Number Machines Order A 8 C D 1 10 12 (1.2) 18(1.8) 25(2.5) 2 - 5 6(1.21 12(2.4) 18(3.6) 3 ^ 8(1.0) 10(1.25) 15(1.88) 4 12 14(1.17) 14(1.17) 20(1.671 5 \2& 25(1.25) 27(1.35) ,35(1.75) 6 15 19 (1.26) 23(1.53) 30(2.0) 7 ,/K" 14(1.0) 16(1.14) 20(1.43) 8 17 19(1.12) 25(1.47) 27(1.59) 9 8 10(1.25) 16(2.0) 30(3.75) 10 9 12(1.34) 18(2.0) 25(2.78) Total 40 Available Time 40 40 40 120 Fig. 86. Machine-Assignment Problem— Index Numbers Shown 5. Continue steps 1 through 4 until the work load on the best machine is less than or equal to the available time. In repeating step 2, omit from consideration the index numbers for the orders previously removed from the best machine. Assignments must be made within the available time on each machine. The index method in the problem at hand will assign orders 3 and 7 to machine B, since these orders each have an index number of 1.0 on machine B. Then order 8 is assigned to B since the index number is 1.12. This assignment, however, is not valid because orders 3, 7, and 8 require 41 hours of machine time on B, and only 40 hours are available. The next lowest index number is 1.14 for order 7 on machine C. However, order 7 has already been assigned and hence cannot be considered for machine C. The next lowest index number is 1.17 for order 4 on both machines B and C. Therefore, order 4 is assigned to machine C. Orders 1 and 2 are next assigned to machine B. This latter assignment completes the load for machine B with exactly 40 hours assigned. The assignments on machine A now require 67 hours, which means that more orders must be reassigned. The next assignment is order 8 to machine C, and finally order 5 to machine D. The assignments by the index method are as shown in Figure 87. The index method yields machine assignments requiring a total of 146 hours. This presents an improvement of, 9 hours over the 124 ELEMENTARY MATHEMATICAL PROGRAMMING Hours per Order and Index Number Machines 1 A 10 8 (12) (1.2.) C 18 (1.8) D 25 (2.5) 2 5 ©(1-2) 12 (2.4) 18 (3.6) 3 8 ®(1.0) 10 (1.25) 15 (1.88) 4 12 14 (1.17) @(1.17) 20 (1.67) 5 20 25 (1.25) 27 (1.35) (35) (1.75) 6 © 19 (1.26) 23 (1.53) 30 (2.0) 7 14 (14) (1.0) 16 (1.14) 20 (1.43) 8 17 19 (1.12) (25) (1.47) 27 (1.59) 9 © 10 (1.25) 16 (2.0) 30 (3.75) 10 ® 12 (1.34) 18 (2.0) 25 (2.78) Available Time 40 40 40 120 Assigned Time 32 40 39 35 Fig. 87. Index Method Assignments— Assignments Indicated by Circled Numbers rather arbitrary assignment-as-received method. This means then that 9 more hours of work can be accomplished in the same time period. The index method in this manner can actually increase manufacturing capacity without adding any new equipment. The method is not, however, without some shortcomings. The assign- ments in Figure 87 can be even further improved by moving orders 3 and 7 from B to C and order 8 from C to B. This results in as- signments requiring 144 hours as shown in Figure 88. Summary. The index method, although it is little more than a formalized inspection procedure, is completely general in its appli- cation and far exceeds other inspection methods, particularly in larger problems. In the sample problem, a savings of 11 hours was rather easily realized. One manufacturing concern uses the index method rather suc- cessfully in their automatic-screw machine department. A clerk and a scheduler, in several hours every Friday afternoon, prepare the work assignments for the following week. This involves be- tween 100 and 200 orders or jobs assigned to somewhat more than APPROXIMATION METHODS 125 Hours per Order and Index Number Machines 1 A 10 6 @(1.2) C 18 (1.8) D 25 (2.5) 2 5 ®(l-2) 12 (2.4) 18 (3.6) 3 8 8 (1.0) ® (1.25) 15 (1.88) 4 12 14 (1.17) (Q)(1.17) 20 (1.67) 5 20 25 (1.25) 27 (1.35) (35) (1.75) 6 © 19 (1.26) 23 (1.53) 30 (2.0) 7 14 14 (1.0) @ (1.14) 20 (1.43) 8 17 @ (1.12) 25 (1.47) 27 (1.59) 9 © 10 (1.25) 16 (2.0) 30 (3.75) 10 © 12 (1.34) 18 (2.0) 25 (2.78) Available Time 40 40 40 120 Required Time 32 37 40 35 Fig. 88. Optimum Assignment of Orders— Total Time Required 144 Hours 130 machines. These orders represent only those jobs that have manufacturing alternatives, which constitute approximately 20 to 25 per cent of the total work load. The machines are grouped by type. Those orders with no producing alternative are assigned initially, and the available machine time is reduced accordingly. The remaining machine time is used in the index method to deter- mine the assignments for those jobs with alternative possibilities. Excess hours are used as the measure of the effectiveness of the machine-assignment activity. Excess hours are the time required in excess of the time on the very best machine. In the preceding problem, if every order could be run on the very best machine, the 10 orders could be manufactured in 118 hours. The initial solution, established on the assign-as-received basis, required 155 hours or 37 excess hours. Excess hours can also be expressed as a percent- age of the ideal minimum time. In this case the excess hours in the initial solution represent 31.3 per cent (37/118 = 0.313). Before using the index method, this organization averaged about 17 per cent excess hours. Now the excess hours are about 4 per cent. The 126 ELEMENTARY MATHEMATICAL PROGRAMMING use of the index method, then, has resulted in a conservative 10 per cent increase in producing ability with the existing equipment. The index method is superior to the simplex solution for the machine-assignment problem, in that set-up and tear-down time are included in the index method, whereas the simplex solution must either ignore set-up time or approximate set-up time. The simplex method provides a better solution when set-up time requires a minor portion of the work time or when it is entirely negligible. However, the simplex solution requires more work. The simplex array for the above problem is 14 X 54, presenting considerably more work to obtain the solution. The index method offers a satisfactory solution to the problem posed by rush orders. When a rush order is received, the machine assignments can be rather easily reworked to include the rush job. This solves the problem of whether to tear down a machine for the rush order or to assign the rush order to an available machine. Often the former presents an over-all better solution. Once the index numbers have been calculated for an order, these can be permanently recorded. With time, a general indication of the index numbers for the work assigned to one machine will emerge. This then permits almost immediate assignment of an order to its correct machine, thereby materially reducing the time required in solving the machine-assignment problem. The index method per- mits effective and efficient solution to the machine-assignment problem by relatively unskilled personnel. THE NORA METHOD 37 Essentially the nora method involves approximating the problem and solving it as a distribution problem. The nora (normalized- ratio) method can be successfully applied where set-up time is neg- ligible. The index method cannot explore the possibilities of split- ting an order and running it on two or more machines, whereas the nora method can. The nora method is accomplished in the following steps: 1 . Establish an initial solution for the assignments (via the index method). 37 This method has been assigned various names. However the nora method name will be used here. APPROXIMATION METHODS 127 2. Normalize machine time according to the average index number for the orders assigned to each machine— here the machine time is reduced ap- proximately to number of hours equivalent to that for the very best machine. 3. Establish the distribution matrix array— the array presents orders and machines. The rim conditions are the available normalized machine times and the number of hours required for each order on the very best machine. The objective is to distribute orders to minimize the machine time. 4. Solve the distribution problem. 5. Translate the distribution solution to correct time requirements. 6. Check the total time requirements. 7. Revise the rim conditions and size of the stones in the distribution ma- trix as may be necessary to obtain time requirements as close as possible to the available time on each machine. The method will be further explained via the same problem used to illustrate the index method. The nora method requires an ini- tial solution that is reasonably close to the very best solution. Hence the index method solution is usually used. The solution that will be given here is that shown in Figure 88. In Figure 88, orders 1, 2, and 8 were assigned to machine B. The index numbers for these assignments are: Index No., Order Machine B 1 1.20 2 1.20 8 1.12 These index numbers indicate that 1 hour of work on machine A requires between 1.1 and 1.2 hours of time on machine B. The total available time for machine B must then be normalized by a factor somewhere between 1.1 and 1.2. In this case a factor of 1.15 will normalize the available time on machine B to approximately 35 hours. 38 38 To establish a distribution matrix for this problem, the difference in manufactur- ing time requirements must be modified so that the available time on the alternative machines is expressed in units of time equivalent to the time on the best machine. In this case, the 35 hours equivalent time on machine B can be interpreted as meaning that, in the 40 available hours, this machine can produce work that would require ap- proximately 35 hours on machine A. 128 ELEMENTARY MATHEMATICAL PROGRAMMING ^"""---^^ Machine Order ^--\^ A 8 C D Hours Required 1 -10 -12 -18 -25 10 2 -5 -6 -12 -18 5 3 -8 -8 -10 -15 8 4 -12 -14 -14 -20 12 5 -20 -25 -27 -35 20 6 -15 -19 -23 -30 15 7 -14 -14 -16 -20 14 8 -17 -19 -25 -27 17 9 -8 -10 -16 -30 8 10 -9 -12 -18 -25 9 Dummy 111 Hours Available 40 35 34 120 229 Fig. 89. Distribution Matrix for Machine-Assignment Problem The index numbers for the assignments on machine C are: Index No., Order Machine C 3 1.25 4 1.17 7 1.14 APPROXIMATION METHODS 129 ^^-\^^ Ma c h i n e Order ^\^^ A 6 C D Hours Required 1 -10 ® -12 -18 -25 10 2 -5 © -6 -12 -18 5 3 -8 -8 -10 -15 8 © 4 -12 -14 -14 -20 12 © 5 -20 -25 -27 -35 20 ® 6 © -15 -19 -23 -30 15 7 -14 -14 -16 -20 14 (U) 8 -17 ® -19 -25 -27 17 ' 9 © -8 -10 -16 -30 8 10 © -9 -12 -18 -25 9 Dummy © ® 111 © (100) Hours Available 40 35 34 120 229 Fig. 90. Initial Solution to Distribution Approximation This means that the available time on machine C must be nor- malized by a factor slightly less than 1.2. This normalizing ratio will correct the 40 hours of available time to approximately 34 hours. Normalizing the last machine D serves no particular purpose since it is far from being fully loaded. 130 ELEMENTARY MATHEMATICAL PROGRAMMING ^"~~~-\^ Ma c h i n e Order "^-^^ A 6 C D Hours Required 1 -10 -12 -18 -25 10 © 2 -5 -6 -12 -18 5 el) 3 -8 -8 -10 -15 8 © 4 -12 -14 -14 -20 12 © 5 @ -20 -25 -27 -35 20 6 @ -15 -19 -23 -30 15 7 -14 -14 -16 -20 14 (U) © 8 -17 -19 -25 -27 17 © © 9 -8 -10 -16 -30 8 © 10 © -9 -12 -18 -25 9 © Dummy 111 © Hours Available 40 35 34 120 229 Fig. 91. Optimum Solution to Distribution Approximation of Machine-Assignment Problem Note: A zero water-square evaluation in square 53 indicates an equally optimum alternative solution. These normalized machine times can be used as part of the rim conditions for the distribution matrix. The remaining rim condi- tions, since the problem will distribute hours of work in terms of APPROXIMATION METHODS 131 Order A 6 C D 1 12 2 6 3 10 4 14 5 20 6 15 7 16 8 8.95 14.3 9 10 T_i 1 10 5 5.5 Total Time Rec juired 40.0 42.45 40.0 14.3 Fig. 92. Actual Time Requirements with the Distribution Approximation the time required for each order on machine A, are merely the number of hours per order on machine A. The distribution matrix for this problem is then as shown in Figure 89. It can be seen in Figure 89 that the rim conditions have been balanced with a dummy row. The problem is now approximated in an 11 X 4 distribution matrix. The index method solution can serve as the initial solution and would appear as in Figure 90. If the assignments initially exceed the rim conditions (the nor- malized machine time), then the rim conditions can be easily modified to suit. Straightforward application of the modified- distribution method solves this distribution problem in several iterations. The optimum solution is shown in Figure 91. The solution in Figure 91 must now be translated into the true machine-time requirements. This is accomplished by multiplying the stone values from Figure 91 by the corresponding index num- bers from Figure 88. The machine assignments are shown in Fig- ure 92 and indicate the real time requirements with the assignments obtained from the distribution array. Figure 92 indicates that the required time on machine B exceeds the available time by 2.45 hours. This means that the available time on machine B was not normalized quite correctly. This dis- crepancy, however, is rather easily corrected. If the rim condition for machine B in Figure 91 is modified to 33 hours (instead of 35), a new solution can be quickly obtained. The position of the stones 132 ELEMENTARY MATHEMATICAL PROGRAMMING ^"^~-^/V\achine Order ""^\^ A 8 C D Hours Required 1 -10 © -12 -18 -25 10 2 -5 (£) -6 -12 -18 5 3 -8 -8 -10 -15 8 © 4 -12 -14 -14 -20 12 © 5 © -20 -25 -27 -35 20 6 © -15 -19 -23 -30 15 7 -14 -14 -16 -20 14 (14) © 8 -17 -19 -25 -27 17 © (u) 9 -8 -10 -16 -30 8 © 10 © -9 -12 -18 -25 9 © Dummy 109 (10?) Hours Available 40 33 34 120 227 Fig. 93. Optimum Solution to Distribution Approximation with Assignments to Machine B Modified in the solution remains unchanged. Essentially then, some of the assignments made to B must be shifted to other machines. Since machines A and C are fully loaded, the excess must be shifted to machine D. This is shown in Figure 93. The modified assignments then are again translated into the APPROXIMATION METHODS 133 Order A 6 C D 1 12 2 6 3 10 4 14 5 20 6 15 7 16 8 6.7 17.4 9 10 T I 1 10 5 5.5 Total Time Rec quired 40.0 40.2 40 17.4 Fig. 94. Revised Machine Assignments— Changed Assignments Underlined correct time requirements for the various machines, and are shown in Figure 94. The revised machine assignments still indicate 0.2 hour too much assigned to machine B. This can be rather easily corrected by shifting the portion of order 8 from B to D. This shift can be such that order 8 will require 6.5 hours on machine B and 17.8 hours on machine C. This change results in a work load of exactly 40 hours for machines A, B, and C, and 17.8 hours for machine D. This means that the work can be accomplished in a total time of 137.8 machine-hours. The initial assign-as-they-come solution required 155 machine- hours; the index method required 146 hours, and the nora method required only 137.8 machine hours. If order splitting is possible, the nora method, which required slightly more work, has resulted in a savings of 17.2 hours. This means that 17.2 hours more work can be accomplished in the same schedule period. The water-square evaluations in the optimum solution to the distribution matrix (Fig. 91) indicated that another equally opti- mum solution can be obtained. It might be worth while to examine this alternative optimum solution and the resulting machine assignments. The solution in Figure 95 yields the machine assignments shown in Figure 96. The assignments in Figure 96 indicate an overload on machine B. This is corrected by shifting more of order 8 to machine D. At the same time it seems worth while to shift more of order 7 from 134 ELEMENTARY MATHEMATICAL PROGRAMMING ^~"^-\^^ Ma c h i n e Order ^"^\^ A B C D Hours Required 1 -10 ® -12 -18 -25 10 2 -5 (1) -6 -12 -18 5 3 -8 -8 ® -10 -15 8 4 -12 -14 @ -14 -20 12 5 -20 -25 © -27 -35 20 (16) 6 -15 -19 -23 -30 15 © 7 -14 -14 ® -16 -20 14 CD 8 -17 (12) -19 -25 -27 17 © 9 -8 (!) -10 -16 -30 8 10 -9 -12 -18 -25 9 ® Dummy 111 (nj) Hours Available 40 35 34 120 229 Fig. 95. Equally Optimum Alternative Solution to Distribution Approximation of Machine-Assignment Problem machine D to C in order to load C more fully. These adjustments are shown in Figure 97. This alternative machine assignment results in a total required time of 134.2 hours. This assignment is even better than any of the previous assignments. APPROXIMATION METHODS 135 Order A 6 C D 1 12 2 6 3 10 4 12 5 16 5.4 6 15 7 11.4 5.72 8 13.4 7.95 9 10 , 10 9 Tolul Time Rec juired 40.0 41.4 38.8 14.67 Fig. 96. Assignments Resulting from Alternative Solution to Distribution Approximation Order A B C D 1 12 2 6 3 10 4 12 5 16 5.4 6 15 7 12.5 4.3 8 12.0 10.0 9 10 10 9 Total Time Rec |uired 40.0 40.0 39.9 14.3 Fig. 97. Adjusted Machine Assignments Based on Alternative Optimum Solution to Distribution Approximation Summary. The nora method, though it requires more work, can obtain better machine assignments than any other of the approxi- mation methods presented. In the example problem, the results of the various solutions were: Method Required Time, hours Assign-as-received 155 Index method 146 Nora method No. 1 137.8 No. 2 134.2 136 ELEMENTARY MATHEMATICAL PROGRAMMING The index method usually provides the best machine assignment, particularly when the orders cannot be split and run on two or more machines, and when set-up and tear-down time represent a major portion of the order time. The nora method is applicable where set-up time is negligible and orders can be split. The nora method is actually based upon the simplex formulation of the machine-assignment problem. The simplex form of such a problem exhibits the pattern characteristic of distribution problems. The normalizing procedure accomplishes essentially the same thing as dividing rows of the simplex array by suitable numbers to obtain unity numbers or near-unity numbers in the array before establish- ing the distribution matrix. However, the error is considerably re- duced in the nora method, since it considerably narrows the choice of the normalizing ratio. These approximation methods, the index and nora methods, are relatively simple and can be taught to and used by people with little mathematical training. The savings may not look particularly startling, yet an improvement of several per cent in an industrial situation can result in sizable savings. APPROXIMATE SOLUTION TO MULTIDIMENSIONAL DISTRIBUTION PROBLEMS This method was included in the previous discussion of the dis- tribution methods. Mention of it here is appropriate since it is an approximation method; however, it does require the use of a high- speed computer. The approximate solution to a multidimensional distribution problem is an excellent example of a situation where the solution via the simplex method may be too large to solve, and where the additional cost of the truly optimum solution is not eco- nomically justifiable. APPROXIMATION BY BOUNDING THE VALUE OF THE OBJECTIVE FUNCTION 39 In situations where a problem is too large to be solved with readily available methods (i.e., too large for hand solution, or too large for the available calculating equipment) an approximate solution may 39 This is similar to the method offered by T. L. Saaty in "Approximation to the Value of the Objective Function in Linear Programming by the Method of Partitions," Jour- nal of Operations Research Society of America, V. 4, No. 3, June 1956, p. 352. APPROXIMATION METHODS 137 be the only solution attainable. Such an approximation can be obtained after the initial simplex array is established. The method discussed here can effectively indicate the lower bounds of a mini- mizing objective function, and the lower bounds of a maximizing objective. In many problem situations, this information is sufficient for management decisions. Then, too, this information can be useful to evaluate the possible gains in obtaining the mathematically optimum solution to the problem. It is possible that this approxi- mation can indicate when present operations are at or near opti- mum, making the formal solution to the problem unnecessary. The method of bounding the value of the objective function consists of partitioning the matrix array and solving the smaller problems obtained. This can be most easily seen in a small exam- ple. Assume that the problem represented in Figure 98 is too large to solve conveniently, 40 or that it is desirable to determine a lower bound for the objective function to see if the complete solution is worth while or even necessary. 85 60 70 160 140 130 *l *2 *3 Y\ y 2 y 3 w, w 2 w 3 w 4 1000 2 2 2 5 5 5 1 600 3 8 1 200 3 8 1 800 4 10 1 Fig. 98. Initial Simplex Array for a Problem An initial approximation can be obtained if all but one variable at a time is assumed equal to zero. For example: Assume then or x 2 = x 3 = y x = y 2 = y 3 = W x = W 2 = W 3 = W, = x x < 500 from the first relationship (row) x x < 200 from the second relationship 40 Actually the example is rather easily solved by the simplex method. However, it will serve to illustrate the approximation method. 138 ELEMENTARY MATHEMATICAL PROGRAMMING This means that x 1 is limited to a maximum value of 200 units. The value of the objective function when x = 200 is Profit = 85(200) = $17,000.00 A similar analysis for each of the remaining variables yields Table 8. Table 8 riable Maximum Size Value of Objective Function x x 200 $17,000.00 x 2 66% 4,000.00 x 3 200 14,000.00 yx 75 12,000.00 y 2 25 3,500.00 y 3 80 10,400.00 The smallest possible value for the objective function is the largest of the above quantities, or $17,000.00. This, then, is the approxi- mation based on single-column partitioning of the matrix. Further refinements in the minimum value for the objective function can be obtained if desired by partitioning two columns and then three columns of the matrix at a time, and solving each of the smaller simple linear programming problems in turn. Here again the maximum of these individual partitions represents a new minimum value for the objective function. In fact, in this relatively simple example, the truly optimum solution is rather easily ob- tained, particularly after solving the two column partitions of x x and y lf x 2 and y 2 , and x 3 and y 3 . Summary. This method of partitioning the matrix to determine the bounds on the value of the objective function is relatively simple and permits some evaluation of a problem prior to its solu- tion. The example used to illustrate the method involved maxi- mizing profits. However, the method can be applied equally well to problems where costs are to be minimized. In the case of costs, the minimum of the several partitions represents the minimum value of the objective function. In other words, the costs may be more but cannot be any less. The latter result, in a cost-minimi- zation problem can rather quickly indicate the optimality of what APPROXIMATION METHODS 139 is being done, thereby giving an indication of the need and value of the optimum solution. This method for bounding the objective function is very similar to the technique, suggested earlier in the book, in testing for redundant expressions in the system. In fact, the solution to the above sample problem becomes obvious when redundancy is re- moved. The array is reproduced in Figure 99. 85 60 70 160 140 130 X, *2 *3 y. Yi y 3 w. w 2 w 3 w 4 1000 2 2 2 5 5 5 1 600 3 8 1 200 3 8 1 800 4 10 1 Fig. 99. An Initial Simplex Array An inspection of the four relationships will reveal that the first expression is not a limiting one and therefore can be eliminated. The array can then be reduced to 3 X 9 as shown in Figure 100. The array in Figure 100 points to even further possible simplifi- cation. If the columns headed y 1 and y 2 are multiplied by 3 /s and the column headed y 3 multiplied by 2 /s, the array is as shown in Figure 101. 85 60 70 160 140 130 X, x 2 *3 y. y 2 y 3 w 2 w 3 w 4 600 3 8 i 200 3 8 1 800 4 10 1 Fig. 100. An Initial Simplex Array— Redundant Expression Removed 140 ELEMENTARY MATHEMATICAL PROGRAMMING 85 60 70 60 52.5 52 X, x 2 *3 y« Vi y 3 w 2 w 3 w 4 600 3 3 i 200 3 3 1 800 4 4 1 Fig. 101. An Initial Simplex Array— Columns y,, y 2 , and y 3 Modified The changes from Figure 100 to 101 are valid in that one may operate upon a column or columns in the array without changing the total value of the matrix. In Figure 101, the columns y u y 2 , and y 3 are redundant columns in that they are identical with the col- umns headed x 19 x 2 , and x 3 , except for the number in the index row. The y's stand no chance of entering a solution (since the identical x column has an algebraically larger objective number) and there- fore are redundant columns. Elimination of these reduces the problem to an obvious solution, yielding a maximum profit of $35,000.00. Summary. Several approximation methods which offer an eco- nomical means of obtaining a near-optimum solution have been presented. The index and nora methods are the most widely used of the various approximation methods, primarily owing to their applicability to machine loading and scheduling. The approxima- tion method for multidimensional distribution problems is relatively new but can conceivably be useful for multiproduct and multiplant production planning. Approximation methods often are tailored to a particular type of application. However, often the formulation of a problem will point to possible approximations which may make the mathematical solution uneconomical or even unnecessary. Approximate solutions are often required in industry, because of either the time require- ments or the relative lack of highly trained personnel. Several of the approximation methods can be very effectively performed by relatively unskilled people with little formal mathematical training. Typical Their Solution Problems solvable by mathematical programming are usually approached in four phases: 1 . Statement of the problem— a suitable word statement of the problem and the conditions that surround it. 2. Formulation— the development of a system of mathematical expres- sions and an objective which adequately describes the problem mathemat- ically (this is often referred to as model construction, since in essence one is building a mathematical model of the problem). 3. Solution— application of the simplex or other suitable methods to obtain an optimum solution to the mathematical formulation of the problem. 4. Analysis— the review and interpretation of the optimum solution and its various alternatives, as courses of action to the problem. The analysis must, of course, be prepared in terms that management will readily understand. The four phases above are fundamental to most problem-solving situations. The major difference between other methods and the operations research and mathematical programming approach is the degree to which the formulation is prepared. Here is where the ma- jor advantage is to be gained by the operations research philosophy. 141 142 ELEMENTARY MATHEMATICAL PROGRAMMING The simplex method and its various ramifications are not too difficult, as could be seen in the preceding chapter. Hence the solution rarely presents a problem except one of tedium with an extremely large quantity of numbers. Therefore, the major em- phasis must be directed toward formulation and analysis. This is where practice is the best means of improving formulation profi- ciency. This chapter will emphasize formulation and analysis via two manufacturing problems. The problems are relatively simple— yet not so simple as to be impractical or have obvious solutions. The problems are shown in their entirety and provide a very clear step-by-step development from the statement of the problem through the complete analysis of the optimum and various alternative solutions. The first prob- lem is one of product allocation— allocating work to be accomplished (orders) to available pieces of manufacturing equipment (processes). The second problem is one of blending available ingredients to make required amounts of paint vehicles. Blending problems are a spe- cial example of product-allocation problems in that one allocates available supplies to meet requirements of various products. A MANUFACTURING PROBLEM In most manufacturing situations, a number of courses of action are possible. Usually the multifacet nature of the problem defies solution by inspection or intuition. Such a manufacturing problem will be considered here. The Problem. A manufacturer receives orders for two products (A and B). The customers require 200 units of product A and 300 units of product B. Both products are manufactured in two operations. The first operation is performed in process I, and it requires 2 hours and 4 hours per unit to produce products A and B, respec- tively. The second operation can be performed in either process II or III. It requires 4 hours per unit of product A and 7 hours per unit of product B produced in process II. It requires 10 hours per unit of product A and 12 hours per unit of product B manufactured in process III. Set-up time on the various processes is negligible. There are 1700 hours of manufacturing time on process I, 1000 hours on process II, and 3000 hours on process III available in the schedule period. An additional 500 hours is available on process II in overtime. TYPICAL PROBLEMS AND THEIR SOLUTION 143 The labor and burden costs are $3.00, $3.00, and $2.00 per hour on processes I, II, and III, respectively. The overtime on process II increases the costs to $4.50 per hour. If no penalty is assumed for idle machine time (assuming that the processes will be occupied with other jobs when not doing these orders), then the problem is to determine how to manufacture the products so that the over-all costs are minimum. Formulation. The formulation of this problem will be somewhat similar to that of the problem used to illustrate the simplex method. The variables represent the various ways that a unit can be manu- factured. There will be six variables in this particular problem, since there are three different ways of producing each product. Let x t = number of units of product A manufactured in process I and at straight time in process II x 2 = number of units of product A manufactured in process I and at overtime in process II x 3 — number of units of product A manufactured in process I and process III x 4 = number of units of product B manufactured in process I and at straight time in process II x 5 = number of units of product B manufactured in process I and at overtime in process II x 6 = number of units of product B manufactured in process I and process III The formulation will then contain four restrictions, each one representing the limitation of available time on the four processes. (Note: Here we may consider process II at overtime as essentially a different process since the costs will be different from those of process II at regular time.) These restrictions are: (Process I) 2x 1 + 2x 2 + 2x 3 + 4jc 4 + 4x 5 + 4x 6 < 1700 (5.1) (Process II: straight time) 4x x + 7x 4 < 1000 (5.2) (Process II: overtime) 4x 2 + 7x 5 < 500 (5.3) (Process III) 10x 3 + 12x 6 < 3000 (5.4) Then, since a definite quantity of each of the products must be made, the formulation must include a suitable statement of the 144 ELEMENTARY MATHEMATICAL PROGRAMMING required quantity for each of the products. This can be stated mathematically as follows: (Product A) x, + x 2 + x 3 = 200 (5.5) (Product B) x 4 + x 5 + x 6 = 300 (5.6) The objective function can be obtained by multiplying the labor and burden cost per hour by the number of hours required to manufacture each of the products. This cost can be determined for each of the variables (methods of production), and will be: 18x t + 24x 2 + 26x 3 + 33jc 4 + 43.5x 5 + 36jc 6 = minimum (5.7) This function will then accomplish the objective of minimum cost. This problem assumes material costs to be constant, regard- less of the manufacturing process. The latter does not have to be constant, and in many manufacturing situations definitely is not. If material costs differed by the type of process, this then could easily be included in the objective function. The problem formulation is now complete and adequately de- scribes the problem. Mathematically the problem can be stated: Find the values of x > such that it will maximize -18^ - 24x 2 - 26x 3 - 33x 4 - 43.5x 5 - 36x 6 subject to 2x x + 2x 2 + 2jc 3 + 4x 4 + 4x 5 + 4x e < 1700 (5.1) 4x, + 7x 4 < 1000 (5.2) 4x 2 + 7x 5 < 500 (5.3) 10*3 + 12x 6 < 3000 (5.4) x 1 + x 2 + x s = 200 (5.5) x 4 + x 5 + x 6 — 300 (5.6) Note that the objective function is now a maximizing one where previously it was minimizing. The objective function must be maximizing since the simplex method is an algebraically maximiz- ing technique. To maximize a function algebraically with negative numbers is equivalent to minimizing that function, or Minimum f(x) = maximum — f(x) The formulation can be prepared for solution by the simplex method with the addition of suitable slack and artificial variables. TYPICAL PROBLEMS AND THEIR SOLUTION 145 The formulation ready for solution via the simplex method is then: Maximize -18*! - 24r 2 - 26x 3 - 33x 4 - 43.5x 5 - 36x 6 +0-W; + 0-W 2 + 0-W 3 + 0-W 4 -MU, -MU 2 (5.7) subject to 2x, + 2x 2 + 2x 3 + 4x 4 + 4x 5 + 4x 6 + W ± = 1700 (5.8) 4jc, + 7x 4 + W 2 = 1000 (5.9) 4x 2 + 7x 5 + W 3 = 500 (5.10) 10*3 + 12x 6 + W 4 = 3000 (5.11) *! + ^ 2 + x 3 +^i= 200 (5.12) x 4 + x 5 + x 6 + C7 2 = 300 (5.13) The slack variables (W 1 through W 4 ) were added to make equa- tions of the inequalities. These can be thought of as representing idle process time. The slack variables have zero weight in the ob- jective function because no penalty is assumed for idle process time. The artificial variables (U 1 and U 2 ) are included to form the square identity for the simplex method. The —M cost factor (defined as so large that it dominates all else in the problem) is attached to the artificial variables to assure that they will be zero, since equality exists without them. The problem is now ready for the simplex method. The initial simplex array for this problem is as shown in Figure 102. Solution. This problem was solved by hand in four iterations, the details of which are shown in Figure 103. When solving problems like this without a desk calculator it is often easier to retain the fractions as shown in Figure 103. This tends to eliminate or at least minimize the error inherent in rounding off numbers. The optimum solution in terms of the initial formulation is x, = 200 W 1 = 100 x 2 = W 2 = x 3 = W 3 = 350 x 4 = 20 % W 4 = x 5 = 15 % U x = x 6 = 250 U 2 = Minimum cost = $14,475.00 146 ELEMENTARY MATHEMATICAL PROGRAMMING CN o CN U0 CO CN O CO o CN o CO 5"? o o O 00 1 + 1 ^ - o 1 6" - o o £ - o o £ - o o £ - o o £ - o o CO 1 -o X ■^ CN - < CO 1 + CO 1 X ■*t K - ^co' CO CO 1 X ^r K - 5 n ■< CO 1 + CM 1 X CN O - < CN 1 + CN 1 X cn ^ - < CN 1 + 00 T X CN ^t - 1 + o O O O O O O O O CO o o CN o o CO o o iO 1 £ £ £ £ zS D o o o O 1 1 E O a. c 3 C o I o 1. < X a £ «7> TYPICAL PROBLEMS AND THEIR SOLUTION 147 This solution could be stated to management in reasonably non- mathematical terms as follows: Manufacture 200 units of product A in processes I and II. Manufacture 28.6 units of product B in processes I and II. Manufacture 21.4 units of product B in process I and at over- time in process II. Manufacture 250 units of product B in processes I and III. This solution would probably be impractical since it requires portions of a unit to be made by two methods. However, the solu- tion can easily be modified to present an entirely usable solution that would specify manufacturing: 200 units of product A in processes I and II 28 units of product B in processes I and II 22 units of product B in process I and at overtime in process II 250 units of product B in processes I and III. This manufacturing will not be mathematically optimum but will present the practical optimum to this manufacturing problem. The total cost for this manufacturing is $14,481.00, or an increase of $6.00 over the mathematically optimum solution. The mathematically optimum solution, shown in the stub of Table V of Figure 103, can be rather easily verified with the initial problem formulation. Process I 2x r + 2x 2 + 2x 3 4- 4x 4 + 4x 5 + 4x 6 + W t = 1700 (5.8) 2(200) + 2(0) -\ 2(0) + ^p^ + 4(1 7 5Q) + 100 = 1700 1700 = 1700 Process II 4x 1 + 7x 4 + W 2 = 1000 (5.9) Straight Time 4(200) + 7(2M) + Q = im 1000 = 1000 Process II 4x 2 + 7x 5 + W 3 = 500 (5.10) Overtime 7(150) 7 350= 500 500= 500 Process III 10x 3 + 12x 6 + W 4 = 3000 (5.11) 10(0) + 12(250) + = 3000 3000 = 3000 /-> 5"> O 00 >o o 1 + 52 7? /-> iO J* (J O CS ^ CO — — ^ CN K O £ O — — *° CO o CN o CO z. O CN <2 "* ^ ^ 1— 5-< °2 - to O CN CO & 00 CN z ™ S CO CN CO OK K CN CN CN 1 •O 1 T* o o o o o - o O O O O O — 000 — ^ - 1 => o o o o - o o CN "<* 1 1 — 00 5 T ^rlK CN|K O — -5J-IK Jk C0| OIK + °£ O O O — o o o 000—00 000 - 00 °£ o o — o o o o 00—000 00 — 00 °v o — o o o o o 0—0000 -*IK 1 -IK O ~;k*|k 8|* 1 1 + 1 °£ — o o o rr oo^ o o o o < CO 1 + — -vf ™ — 3: ■< CO 1 + (• 00 ) •o CO * 1 * * CN - ^ n t + V) IT) CO u, ^r x 1 •* O K o o — ^co" ^t O Is, O — ^ro- "* O K 5 CO - s. CO CO * 1 * ^ k o o o - 1 + ^ K O O O — 1 + 0—0 00 7 x CN O O 2 , o <: cn 1 + 7 2 - 00 + 2|k^; k o — ^|K -*I K CO 00 K * 1 + CN « 1 (NO^tO — o ^3 1 + 1 TT — ■o + 1 — <*ik ^tik K K 1 + 00 r~ 5 2^ 7 * CN ^ O O V •"" o 0000—0 000000 000000 CO CN IO O CN CO — CO CO '7 000 CO — o o o o o o o o — — CO o o CN o o CO •0 CO 00 K O >o CN O K O O 00 CO K £ £ *£ £ :d D s: i ~£ i x 3 £ * g £ x" r? o o o o ^ ^ O O O O CO ^ s ° 2 5 vjj' T 1 1 1 1 148 K, co /C\ CN CN 00 — ^ _ CO iO 00 CN CN CN o CN ■ — — O ^r CO "O 00 «a O 00 CN ^ - CN CN — CN 00 o o o o o ^IK CN|K O O — o o -|2 o o o — o o «|^ + -|: s|2 -*IK — IK O O O — O O O O O O O — o -IK 5|N 8|K ^t O K O O ^co' o — o o o SI^! K o.oio- I 2h^ , ^ ° - o o o o — — ICN — CN ^■IK ™r* x:l "* i + o K O CN O O O K O u-> O u-> CN CN O K 9 o co o o 00 po co — I I I ° I CN ^IN ^ __ || |- O - ^|K ^ o o M2H2o - § O O — O O O O —IK — O O — IK m — o o o o o o o o o — o o o o o o o o — o o o o o o ^rlK O . ^|<0 >0|O _ =151 _ 00 ^■IK o o o — ^tik o o o o o — o o o o o o — CN . o o o o K iO iO O V) CO CN CN — K K V £ x £ XXX O CO O "O 00 CO co co — ^r I I 149 150 ELEMENTARY MATHEMATICAL PROGRAMMING Number of Product A Number of Product 8 The optimum value for the objective function is then: - 18x a - 24jc 2 - 26*3 - 33* 4 - 43.5;t 5 - 36* 6 - MU 1 - MU 2 = maximum *1 + ,x 2 + x 3 — 200 (5.12) 200 + + = 200 = 200 200 x 4 + *5 + x 6 = 300 (5.13) 200 , 7 150 7 250 = 300 = 300 300 - 18(200) - 24(0) - 26(0) - 33 ^ 0Q) - 43 - 5 ^ 150) - 36(250) - M- - M- = maximum — 14475 = maximum Analysis. The final matrix (Table V, Fig. 103) not only provides the optimum solution but it also affords useful information, in the index row numbers, regarding alternative solutions. The index row number for every variable in the optimum solution (those variables appearing in the stub) will, of course, be zero. The remaining in- dex row numbers provide the required information concerning alternative solutions. The index row number for the second column is zero. This indi- cates that the variable in this column x 2 could be introduced into the solution without increasing the total costs of the problem. This then, would provide an equally optimum alternative solution to the problem. This optimum alternative solution (shown in Fig. 104) can be obtained by accomplishing another iteration from Table V (Fig. 103) by introducing x 2 or selecting the second column as the key column. It can be seen that the solution is different but that exactly the same total cost prevails. The alternative solution is: x 1 = 162.5 Wi = 100 X 2 — o i.O W 2 = x 3 — W 3 = 350 x 4 = 50 W 4 = x 5 = U x = x 6 = 250 U 2 = Minimum cost : = $14,475.00 which can be rather easily verified by the initial formulation. J* (J ^IcN cn l; or CN CN CO CN O CO CN O O K 00 CO CN o CN 00 CN < CO CN lO '"if T 5 1 :d 1 '- K 1 o 1 M-* CO 1 ID CN 1 o 1 O O - < CN 1 o a? o -12 1 M2 -IS MS M5 1 CN O d o £ o o - o O o o o a? o o - o — l^r 1 IO o i - o o o o o o co 1 -0 o o o - o o o CO X o - o o 1 M^r o CO CO 1 X o »- o o o o o CN 1 X o »ol>o 1 =h U0|O C0|CN — ICN 1 wo CN CO CN 1 X o o o o o - o 00 T X o o o o — O o o o o o no CO o UO CN CN >o CO K 7 £ X £ ■o X X X o CO CO 1 o o CO 1 00 T CN 1 < E Q. o "5 3 XT 151 152 ELEMENTARY MATHEMATICAL PROGRAMMING This optimum alternative solution could be stated to manage- ment as follows: Manufacture 162.5 units of product A on processes I and II. Manufacture 37.5 units of product A on process I and at overtime on process II. Manufacture 50 units of product B on processes I and II. Manufacture 250 units of product B on processes I and III. Or this would be somewhat more practical if it was: Manufacture 162 units of product A on processes I and II. Manufacture 38 units of product A on process I and at overtime on process II. Manufacture 50 units of product B on processes I and II. Manufacture 250 units of product B on processes I and III. This practical optimum alternative solution would cost $14,478.00, or an increase of $3.00 over the mathematically optimum solution. This solution has $3.00 lower total cost than the previous practical optimum; however, the difference is quite insignificant. Mathemat- ically speaking, these two optimum solutions are the two extremes of many equally optimum solutions. It would be possible to cal- culate many of these intermediate optimum solutions using the marginal rate of exchange between x 2 and x 5 . From Table V (Fig. 103), it can be seen that this marginal rate of exchange between x 2 and x 5 is Yi, or four units of x 5 are equivalent to seven units of x 2 . In obtaining any of the possible intermediate solutions, this rate of exchange must be used. However, in this particular problem, it is doubtful if any of the intermediate optimum solutions would be of more than academic interest. In both the extreme optimum solutions, since the index row numbers are unchanged, essentially the same interpretation for these numbers can be applied. The index numbers under the iden- tity can be interpreted as follows: 1.5 in W 2 column. The objective function would be algebraically reduced (the total costs would increase) by $1.50 if one W 2 were introduced into the solution. In other words, the total cost would increase by $1.50 for each idle hour allowed on process II. Simi- larly, the objective function can be algebraically increased (the total costs would be further reduced) by $1.50 for each additional W 2 available in the initial solution. In other words, the total costs would be reduced if the restraint of process II were relaxed, or if one more unit of time were available on process II (at regular time). TYPICAL PROBLEMS AND THEIR SOLUTION 153 Much the same interpretation applies to the index number (0.625) under the column headed by W 4 . Here the costs would be increased by $0,625 for each hour of idle time on process III, or reduced by $0,625 for each additional hour of time available on process III. It is important to note that these index row numbers represent the marginal changes to be expected, and hence are applicable only within the range of the optimum solution. This is to say that the change indicated by the index row number is not valid for an un- limited change in the variables represented. It is interesting to note in this particular problem that the solu- tion is in no way affected if the assumption of no penalty for idle equipment time is removed. It can be easily verified that there is no change in the optimum solution if the costs of labor and burden for each process are assumed applicable to the idle time on the processes (assign —3, —3, —4.5, —2 to the slack variables W 19 W 2 , W 3 , and W 4 , respectively, in the objective function). The only effect this will have on the optimum solution is that the optimum value of the objective function is changed from $14,475.00 to $15,825.00. This objective function will minimize the cost of pro- duction as well as the total cost of process idle time. This problem could have also been solved with the modified simplex method. It is of interest to note the effect of this modified method in terms of reducing the work involved, particularly in calculating the index row numbers. Figure 105 illustrates the phase I solution to this problem reached by the modified simplex method. It can be seen that the phase I calculations obtain the optimum solution directly in this particular problem. Comparison between the solutions shown in Figures 103 and 105 will show the same number of iterations except that the index row numbers in each iteration by the modified simplex method are considerably simpler. This then increases the hand computation efficiency. Summary. This manufacturing problem has been presented to illustrate the four phases inherent in solving a problem and to show the elementary techniques of problem formulation. Set-up time for the various processes was assumed to be negligible in the above analysis. However, this is not necessarily true of many manufac- turing processes. Set-up time cannot be effectively included in the formulation since it is nonlinear (i.e., set-up time is completely independent of the quantity to be manufactured). Some work has been done in nonlinear programming, but it is beyond the scope of this book. r^ ^N f"> O CN CN CO _* •— •— >— CN " K O iO O — — CO o CN o o CO u-> 1 CO CN CO Tt -^r CN •— CN O O O U") O CN CO CO CO | O 00 CN O CN r- CO CN o CO 204 276 -274 — rT o o o o 1 o — o o o O O O i- o o o o o o — o — zS o o o o 1 - o o CN 1 1 o o — o — CN|K ^HK o o — <*|N COIK o ^ O O O — o o o o o o — o o o o o o - o o o o ^ o o — o o o o o o — o o o o o o — o o o o O ^ O — O O o o o o - o o o o o "■TIN —IK O 1 o O —IK —IK 1 o ^ — o o o o o o - o o o o o o .- o o o o o o O * ^f O O CN o T ^r o O CN O — — 1 /V o o CN o- T) O x ** O K O o T ^r o K O O — — 1 ^f O K o o — — 1 O * ^ K O O o 1 d K o o o — i-A o — o o o o o OX CN O O O - o — 1 o 1 o o — o o OL "*|K O o f- -^r|K -"tiK 1 O * CN O^ O - o — 1 o -* i ^f o — o o 1 o — ^t|K ^-|K 1 O * MM ^r O O — °T) o o o o — o o o o o o — o o o o o o o o o o K O u-> O .- — ro o o CN o o o o CO U"> 1 o o CO o o CN o o o o o o o o o o UO O CN CO CO CO | o o CO 00 o o K O o o o CO o o o o CN O o Kg K ££££ r>" rT £ £ £ £ x* => £ * g £ * 5" O O O o — .- o o o o o — o o o o o — W ' v_y ' W ' 154 00 (M CO CO CN — CN lO O co CN O «— CN iO 00 r- CO o CN CN CN CN ^ — O -* CO ^- OL, CN CN O CO ^ .— cn cn r - o o o o o CNIhv ^|K O O — — |CO O O ICN O -2 ^tik H2 CO|K H2 •to k o o .- — I I CN "tlK Tfr O .— ^tlK «— I I I O O k. ICN _|CN O _|CN O N |CN _|CN O _|CN o o — o o t|K — IK O O O — o o o o o o o — o -IK I -IK c O K O O D o — o o o CNl — ^|K O «0|O — CN CN ^Ifv ^"IK <f O — 2h — ICN ^tlK o o o o — o o o o k o in o ■O CN CN I u-> K o o — o o o o O —IK — O O —|K O — O O O O O O o o o — o o o o o o o o — o o — o o o o o O "*|K — 1^ IOIO — ^ICN O O ^t|K O O — ^|K O O O O O — O O o o o o — CN o o o o K iO >0 O >0 CO CN CN — £ X £ * o o o o o £ * £ XXX o o o o o o o X _o a E in -a o CE 73 O Z o '> E _a> ja 2 a. 5) 155 156 ELEMENTARY MATHEMATICAL PROGRAMMING One means of including set-up time is to set aside initially a por- tion of the available time for set-up. The mathematical analysis is then prepared with the remaining process time. In analyzing the solution, then, a comparison is made between the time initially set aside for set-up and the time actually required for set-up to accom- plish the mathematical solution. Some modification and resolving may be necessary to provide the proper set-up time. This partic- ular approach when set-up time must be considered will usually result in a near optimum but not necessarily absolutely optimum solution. The problem developed above illustrates one of the important benefits of mathematical programming. Considerable information is provided concerning various alternative solutions, and one can quickly indicate the economics of a wide variety of alternative courses of action. A BLENDING PROBLEM Blending problems represent a special class of product-allocation problems. The mathematical programming analysis applied to blending problems has become a standard operating procedure in some oil refineries and in one company manufacturing livestock feeds. The problem considered here concerns blending paint vehicle. The Problem. A company manufacturing a wide variety of paint products has one department whose sole activity is the preparation of required amounts of paint vehicle. The paint vehicle is mixed in this department before the addition of pigments, extenders, etc. Several paint vehicles are blended, and they all consist of differing amounts of oil, dryer, and thinner. The vehicle mixing department has received orders for two blends: A and B. The orders require preparation of 400 gallons of blend A and 600 gallons of blend B. These blends must contain the following amounts of the three constituents: Constituents, % Blend Oil Dryer Thinner A 80 10 10 B 55 15 30 The orders for blends A and B must be prepared from the avail- able stocks of constituents. The constituents are available in the pure, unmixed state in the following amounts: TYPICAL PROBLEMS AND THEIR SOLUTION 157 Constituent Available stock Cost per gallon on 500 gallons $3.10 Dryer 200 gallons $2.00 Thinner 200 gallons $1.00 In addition to the stocks of constituents the vehicle mixing department has stocks of two commercial vehicle blends on hand. The information concerning these commercial blends is as follows: Commercial Constituents, % Available Cost per Blend Oil Dryer Thinner Stock, gallons gallon 1 70 10 20 200 $2.50 2 40-60 150 1.70 The cost of preparing the orders is constant, regardless how the blends are made, and hence can be neglected. The problem is then: How should the required amounts of blends A and B be prepared from the available stocks at a minimum total cost? Formulation. If the assumption is made that the composition of these blends is linear (i.e., that 20 gallons of constituents yields exactly 20 gallons of blend), then the problem can be solved via linear programming. The variables in this particular problem are the amounts of the various stocks allocated to a particular blend. In other words, an answer is required that will tell how much of a particular stock is used to make a particular blend. This can be rather easily accom- plished in the formulation, if we let: x lt = the number of gallons of commercial blend 1 used to make blend A (the first subscript signifies blend 1; the second blend A) x 12 = the number of gallons of commercial blend 1 used to make blend B x 21 = the number of gallons of commercial blend 2 used to make blend A x 22 = the number of gallons of commercial blend 2 used to make blend B o : = the number of gallons of straight oil used to make blend A o 2 — the number of gallons of straight oil used to make blend B d ± = the number of gallons of straight dryer used to make blend A 158 ELEMENTARY MATHEMATICAL PROGRAMMING d 2 = the number of gallons of straight dryer used to make blend B t x = the number of gallons of straight thinner used to make blend A t 2 = the number of gallons of straight thinner used to make blend B The system of relationships describing the problem can be devel- oped based upon these variables. Three relationships can be con- structed which describe the oil, dryer, and thinner content for blend A. These are: Blend A Oil 0.7x lx + 0.4jc 21 + Ox = 0.8(400) = 320 (1) Dryer 0.1x al + d x = 0.1(400) = 40 (2) Thinner Q.2x u + 0.6jc 21 + t x = 0.1(400) = 40 (3) The first relationship can be interpreted as: 0.7xn (oil from blend 1) + 0.4x 21 (oil from blend 2) + o 1 (amount of pure oil) = 320 (total required amount of oil in blend A) Since x lx represents the total amount of blend 1, then 0.1 x^ represents the oil in blend 1. The second and third relationships can be similarly interpreted. It can be noted that an alternative formulation would be possible. The above three relationships specify the amounts of the three constituents required in blend A. The alternative formulation is one that specifies the amounts of any two constituents and the total amount of blend A. This would appear as follows: Blend A Oil 0.7jc n + 0Ax 21 + o x = 320 Dryer O.lXn + d x - 40 Total blend *n + #2i + o ± + d x + £j 400 This formulation will accomplish essentially the same results as the previous formulation. However, the formulation that will be considered here will be the first one. A similar set of relationships can be constructed for the constit- uents in blend B. They are: TYPICAL PROBLEMS AND THEIR SOLUTION 159 Blend B Oil 0.7* 12 + 0.4x 22 + o 2 = 0.55(600) = 330 (4) Dryer 0.1# 12 + d 2 = 0.15(600) = 90 (5) Thinner 0.2x 12 + 0.6x 22 + t 2 =0.30(600) = 180 (6) The problem formulation must include the limitations brought about by the quantities of the various stocks on hand. These limi- tations are: Straight oil o 1 + o 2 < 500 (7) Straight dryer d x + d 2 < 200 (8) Straight thinner t x + t 2 < 200 (9) Blend 1 Xu + x 12 < 200 (10) Blend 2 x 21 4- * 22 < 150 (11) This then completes the system that describes the problem. The objective function is one that minimizes the costs of the vari- ables and is 2.5(x 11 + x 12 ) + 1.7(x 21 + x 22 ) + 3.1(0! + o 2 ) + 2{d x + d 2 ) + t ! + t 2 = minimum The total formulation is then expressed in 11 relationships com- bining 10 variables. This is, to be sure, the reverse of the usual linear programming problem in that there are more expressions than unknowns. The problem can then be stated: Maximize —2S{x 11 + x 12 ) — 1.7(jc 21 + x 22 ) — 3.1(o x + o 2 ) - 2(d x + d 2 ) — t x — t 2 subject to Requirements 0.7jCh + 0.4x 21 + o x = 320 (1) of blend A O.Ijc^ + d t - 40 (2) 0.2* X1 + 0.6x 21 + t t = 40 (3) Requirements 0.7jc 12 + 0.4x 22 + o 2 = 330 (4) of blend B 0.1x 12 + d 2 = 90 (5) 0.2x 12 + 0.6x 22 + t 2 = 180 (6) Limitations of o ± + o 2 < 500 (7) available stocks d x + d 2 < 200 (8) (9) (10) (11) Oi + o 2 <500 * + d 2 <200 t t + t 2 <200 x lx ~r X 12 <200 X 21 T -^22 <150 160 ELEMENTARY MATHEMATICAL PROGRAMMING The problem as it now stands presents an 11 X 21 array as shown in Figure 106. Solution. This problem could be solved by either the simplex or the modified simplex method. However, solution of this problem by hand would easily require a number of hours. Therefore, this problem was solved on an IBM-650 computer. The details of this means of solution are presented in a later discussion about computers. The optimum matrix for this blending problem was obtained in ten iterations and is as shown in Figure 107. The optimum solu- tion is as follows: Minimum cost = : $2460.00 x xl = o, = 320 t x = 40 x 12 =t 200 o 2 = 130 t 2 = 50 x 21 = d t = 40 X22 — -LOU d 2 = 70 W 1 = 50 W,= W 2 = 90 w 5 = W 3 = 110 u r "U G = In terms of the initial statement of the problem, this optimum solution can be stated: Make blend A by mixing: 320 gallons of straight oil. 40 gallons of straight dryer. 40 gallons of straight thinner. Make blend B by mixing: 200 gallons of blend 1. 150 gallons of blend 2. 130 gallons of straight oil. 70 gallons of straight dryer. 50 gallons of straight thinner. This blend preparation will leave stocks of the straight constitu- ents as follows: Constituent Stock on Hand, gallons Oil 50 Dryer 90 Thinner 110 In this problem, the mathematically optimum solution is quite practical. Blending as above will provide the required amounts of o £ - o £ - o £ - o £ - o £ - 1 d? - 1 ZD - 1 rJ - 1 d> - 1 d - 5 1 r)~ - T - - - T - - - CN 1 "O - - CN 1 ~6 - - CO 1 o - - CO 1 o - - T * d d - T * d d - CN 1 >< d d CN d - CN 1 X O 6 CN d - o CN CO o o o CO CO o o 00 o o o o CN o o CN o o CN o ID :d zS :d dC •0 ID £ £ £ ■<»• t/l 1 1 1 1 1 ^ o o o o o E JQ O t~ a. O) c TJ c J) 00 o >- < X J) a £ 175 s 161 <=> £ CD CD - CD* 1 CD md CD 1 CD CD - CD so CD* o CD £ - CD CD CD 1 CD 1 cm CD* 1 CD - CD CD cm CD I** CD CD o £ o CD CD CD CD CD CD CD CD CD - CD cd £ cd CD CD CD CD CD CD - - CD CD CD CD £ cd CD CD CD CD CD CD CD CD - CD O 1 dT CD CD CD CD CD - CD CD CD CD 7 S 7 1 id CD CD CD CD - CD CD 7 CD CD CD ?7 1 :d CD CD CD - CD CD CD CD CD 7 CD s 7 1 3 O CD CD CD CD CD CD CD - CD 7 57 1 rT CD - CD CD CD CD CD 7 CD CD CD 57 5 1 5" CD CD CD CD CD CD - CD CD 7 CD 57 7 - CD CD CD CD CD - CD CD CD CD CD CD 7 - CD CD CD CD CD CD CD CD - CD CD CD CNI 1 "0 O CD CD CD - CD CD CD CD CD CD CD cm 1 ■o CD - CD CD CD CD CD CD CD CD CD CD CO 1 d CD CD CD - CD CD CD CD CD CD CD CD CO 1 o CD CD CD CD CD CD - CD CD CD CD CD 7 * CD CD - CD CD CD CD CD CD CD CD CD 7 * CD CD - *3; CD 1 CD MD CD 1 CD CD CD CD CD CD cm' 1 X - CD CD CD CD CD CD CD CD CD CD CD cm 1 X - CD CD r-, CD 1 CD 1 CM CD 1 l-s CD* CD CN CD CD CD CD CD CM CD CD CD CO CD 1^. CD CD CM CO CD C^ CD *3- CD CD CD ms ^~ CM 1 * ~0 * O "O - d £ -- £ g CM 1 cm 1 1*^ 7 CO 1 CM 1 7 CO 1 CD 7 CD CD c c I X o £ 3 £ Q. o 162 TYPICAL PROBLEMS AND THEIR SOLUTION 163 the correct blends at a minimum cost of $2460.00. This cost can be broken down for each blend as follows: Total Cost Cost per gallon Blend A $1112.00 $2.78 Blend B 1348.00 2.247 Analysis. Analysis of the index row numbers of the optimum array yields some rather interesting alternatives. In the optimum solution, x xl and x 21 are not in the solution stub of the optimum matrix; yet the index numbers are zero (columns 1 and 3 in the array). This indicates that equally optimum alternative solutions exist for this problem. In an actual manufacturing situation like that shown in this problem, it is doubtful whether time spent exploring these alternative optimum solutions would be economi- cally justifiable. However, it is of interest to see what these alter- native optimum solutions yield in terms of alternative courses of action. The two possible alternative optimum solutions are as follows: Alternative 1 Alternative 2 x tl = 200 x tl = x 12 = x 12 = 200 x 21 = x 21 = 66% x 22 — 150 x 22 = 83Vs o 1 = 180 o, = 293 Ys o 2 = 270 o 2 = 156% d x = 20 d x = 40 d 2 = 90 d 2 = 70 t x = t x = t 2 = 90 t 2 = 90 Wi = 50 W x = 50 W 2 = 90 W 2 = 90 W 3 = 110 W 3 = 110 W 4 = W,= W 5 = W 5 = U 1 '"U & = U X -'U & = These solutions would yield blending instructions as follows: Alternative 1 Make blend A from: 200 gallons of blend 1. 180 gallons of straight oil. 20 gallons of straight dryer. 164 ELEMENTARY MATHEMATICAL PROGRAMMING Make blend B from: 150 gallons of blend 2. 270 gallons of straight oil. 90 gallons of straight dryer. 90 gallons of straight thinner. The total cost will be $2460.00 and can be itemized as follows: Blend Total Cost Cost per gallon A $1098.00 $2,745 B 1362.00 2.270 ternative 2 Make blend A from: 66 2 / 3 gallons of blend 2. 2931/3 gallons of straight oil. 40 gallons of straight dryer. Make blend B from: 200 gallons of blend 1. 83V3 gallons of blend 2. 156% gallons of straight oil. 70 gallons of straight dryer. 90 gallons of straight thinner. The total costs will be $2460.00 and can be itemized as follows: [end Total Cost Cost per gallon A $1102.66 $2,756 B 1357.33 2.262 It can be seen that, while the total costs remain unchanged, the alternative blending programs differ widely and the costs per gal- lon of the two blends differs slightly from one optimum solution to another. The cost per gallon variation is less than 1 Vi per cent and therefore rather insignificant. In every optimum solution the index numbers under the slack variables present some useful information. No attempt is usually made to attach any economic significance to the index numbers in columns headed by artificial variables since no useful economic significance is usually attached to artificial variables. The eco- nomic interpretation for the index numbers in the last two columns of the optimum array is as follows: Variable W 4 Index number 0.07 TYPICAL PROBLEMS AND THEIR SOLUTION 165 The objective function would be algebraically reduced (costs would increase) by $0.07 for every gallon of blend 1 not used; or the costs would be reduced by $0.07 for every additional gallon of blend 1 that could be obtained and used. A similar interpretation would hold true for the variable W 5 which represents a quantity of blend 2. In other words, costs could be reduced if larger stocks of blends 1 and 2 were available. Simi- larly, costs would be higher with smaller stocks of these blends. This problem exhibits an interesting facet of mathematical programming in that there are many equally optimum programs presenting relatively free choice of the program actually put to use. The interpretation of the various ramifications of these solutions is more a question of economics and time than of not having the desired information available. SUMMARY The two problems presented here are not real industrial prob- lems (they are, however, based upon real industrial situations). They were developed and solved to illustrate the techniques in- volved in formulation and analysis. In real problems, very often the major difficulties are encountered in obtaining the necessary data for the formulation and in obtaining a clear-cut statement of the objective. Often, when the nature of the objective is in doubt, several objectives may have to be investigated. This usually means solving the mathematical model (formulation) with each of several objectives and then analyzing the several solutions obtained. This approach can be used to help determine the objective in terms of its effect upon the total problem. These two problems have been developed to illustrate the tech- niques of problem formulation and solution analysis. To be certain, proficiency in solving problems with mathematical programming can only come with practice. Subsequent chapters will consider other types of problems to further emphasize these techniques. Program m i ng In many situations, a solution to a problem must be obtained rather quickly in order to be useful. Here is one situation where an electronic computer can be most effectively used. Electronic computers can be most easily defined as electronic devices designed to accomplish mathematical operations or to sim- ulate systems of mathematical expressions. Electronic computers can be divided into two major classes: analog and digital. Analog computers are designed primarily to deal with continuous data. Integration, differentiation, and solving systems of differential equations are operations well suited to analog computation. Digital computers, on the other hand, deal with discrete data and perform basic arithmetic operations. Digital computers have the advantage over analog computers primarily in speed, accuracy, and memory capacity. The major advantage of electronic computers for solving problems is in their speed. Electronic computers can accomplish operations in the range of several thousand instructions every sec- ond, making them a very useful tool in many situations. Mathematical programming calculations, since they are composed of basic mathematical operations, can be accomplished by either analog or digital computation. The fact that most of the methods 166 COMPUTERS AND MATHEMATICAL PROGRAMMING 167 are iterative, consisting of a basic set of calculation instructions that are repeated over and over again as often as necessary, is a characteristic well suited to digital computation. The greater part of mathematical programming calculations are accomplished on digital computers primarily because of accuracy and memory requirements. Hence the discussion here will be limited to the digital computer. Many varieties and styles of digital computers are available, some commercially available and several available through various uni- versities. Generally speaking, any digital computer accomplishes the same end result. However, the coding and programming tech- niques differ widely among various digital machines. This discus- sion will be further limited to the IBM series of digital computers since IBM has been a pioneer in the field of mathematical program- ming via electronic computers and since my experience has been limited to these machines. However, it should be noted that the solution methods of mathematical programming are equally well suited to any digital-type computer. SOME IBM COMPUTER PROGRAMS Many programs 41 exist, and more are being prepared, for mathe- matical programming calculations on the various types of IBM digital machines. Several of these programs will be discussed in general here. The IBM type-604 accounting calculator, though it is not an electronic computer in the truest sense, can be effectively used to accomplish the calculations of the distribution (stepping-stone) and simplex methods. This calculator is rather limited in terms of the maximum size of a problem, and a considerable amount of card handling is usually required, since the program cannot be efficiently stored in the machine. The IBM type-650 computer is a stored-program machine, and therefore has been widely used for linear programming calculations. Several programs have been written for the various methods. They 41 A computer program consists of the list of steps required to solve the problem. This is usually expressed in numbers and /or symbols which the computer can under- stand. Computer programming essentially involves reduction of a method to its simplest form and instructing the computer in this method in terms that it understands. This is somewhat similar to writing job instructions for a very fast idiot. 168 ELEMENTARY MATHEMATICAL PROGRAMMING differ primarily in the size of problem that can be solved and in the type of programming instructions. The newer programs reflect the advances in programming and mathematical skills since the earlier programs were written. The IBM type-701 and 704 electronic computers have much greater memory capacity and much higher speeds than the 650. These then are much better suited for solving extremely large models very rapidly. Distribution Methods. The distribution methods (notably the step- ping stone) have been programmed for the IBM electronic com- puters. The individual programs and the maximum size of the problem differ widely, depending upon the author of the program and the equipment that the program was designed to use. One program prepared for the 650 will solve distribution prob- lems up to approximately 5m + 6n < 2300 with n < 100. This means that a distribution problem involving 100 sources of supply and approximately 340 destinations can be solved on the 650 com- puter. Another program written for the IBM 701 computer will solve distribution problems up to m X n < 3000 via the stepping- stone method. Multidimensional distribution problems can be solved via a 704 program prepared by Dr. B. A. Galler. This program can success- fully solve multidimensional problems by the method discussed in Chapter 2 containing up to 20 dimensions. The limitations on the size of problem that can be solved are that the sum of the number of rows and columns in all dimensions may not exceed 900, and the product of the number of rows and columns in all dimensions may not exceed 900,000. This program accomplishes the solution of relatively large multidimensional distribution problems. However, it must be remembered that this method is an approximation to the optimum solution. A comparison of the speed and accuracy of this 704 program was made. A test problem solved by the simplex method on the 704 required approximately 8 hours. The same problem required ap- proximately Vi hour on the 704, using the preceding approximation method. The approximate solution was within 8 per cent of the truly optimum solution. The solution of this test problem by hand would present an almost insurmountable task. The Simplex Method. Several programs exist for accomplishing the simplex method on the IBM 650 computer. One program can solve problems whose matrix array (including identity) can be as COMPUTERS AND MATHEMATICAL PROGRAMMING 169 large as m X n = 30 X 59 or where m(n + 1) < 1400. This pro- gram was used to solve the blending problem illustrated in the preceding chapter. This blending problem illustrated the speed advantages of electronic calculation. The blending problem presented an 11 X 21 array, well within the limitations of the 650 program. To solve this problem by hand would require easily 20 to 30 minutes per iteration presenting a 3 ! /2- to 5-hour job of hand calculation. To solve this problem with the 650 required: 20 minutes to code the problem or put it on input cards in the form re- quired by the program. 25 minutes to punch and verify the input cards. 6 minutes to read in the data and program, accomplish ten iterations, and punch out the optimum matrix array on the 650 computer. 30 minutes to interpret the output cards manually, check the solution, and assemble the optimum simplex array. In other words this problem was easily solved with the IBM 650 computer within the span of 1 Vi hours. This time could be further reduced by mechanical interpretation and printing of the optimum matrix. This particular program provides the variable and constant columns, the value of the objective function, and an iteration count at the end of every iteration. This information can be most useful in rechecking a problem. To be certain, this program is not with- out its peculiarities and some practice is necessary to attain the coding and interpretation times indicated. A program is available for the 650 computer that will solve problems containing up to 97 relationships, combining virtually un- limited numbers of unknowns. Another program will solve up to 40 relationships combining a virtually unlimited number of vari- ables, whereas still another will solve up to 33 relationships com- bining up to 1000 variables. Each of these programs differ in the format of the input and output data and in the time required per iteration, but all of them accomplish the calculations required by the simplex method. The particular program one would use de- pends primarily upon the probable size and frequency of problems encountered. In solving problems encountered in an introductory course in mathematical programming, I find that the first program, which solves problems up to 30 X 59, is most satisfactory. The coding requirements and subsequent card handling are relatively 170 ELEMENTARY MATHEMATICAL PROGRAMMING simple and easily taught to those unfamiliar with computer programming. The IBM type-701 computer has been programmed to solve problems up to 50 X 100 in matrix size via the simplex method. Two problems were calculated for me on a 701 to obtain time com- parisons between hand and electronic computation. The first problem represented by a 6 X 18 array required 6 minutes to ac- complish six iterations. Another problem in a 9 X 27 array required 9 minutes to accomplish ten iterations. These problems, while they show the speed attainable, are not really suitable for 701 solution, primarily because they are so small. In fact, it is almost an insult to the 701 to present such a small problem to it. The advantages of electronic, computation are much better shown with larger problems. The preceding two problems were solved at a cost of approxi- mately $100.00. This then would not compare too favorably with the cost of approximately 8 man-hours for hand solution. Here then the cost as well as the time factors must be considered to eval- uate properly the economics of hand versus electronic calculation. The IBM type-704 computer has been programmed to solve problems containing up to 255 relationships, combining a virtually unlimited number of variables, with the modified simplex method. This program illustrates the advances in computational efficiency over earlier programs and makes full use of the abilities and speed of the 704 computer. Certainly one must be well into the field of mathematical programming to encounter problems of the magni- tude solvable by the 704 computer. SUMMARY Electronic digital computers, regardless of their make, can be very usefully employed to solve mathematical programming prob- lems. Cost too is a consideration, usually a most important one, which, of course, cannot be overlooked. Computation facilities in most cases would be most difficult to justify for accomplishing only mathematical programming calculations. However electronic com- puters are useful in a wide range of business applications and are becoming more widely used all the time. IBM and other organiza- tions provide facilities at various computation centers which are available on an individual problem basis. COMPUTERS AND MATHEMATICAL PROGRAMMING 171 In commerce and industry, where answers may be required in a minimum time and where problems may be very large, the electronic computer is an invaluable tool, providing solutions rapidly, econom- ically, and completely free from human error inherent in hand calculation. In education, particularly in the field of mathematical programming, the electronic computer can be used to minimize the actual solution time, so that more emphasis can be placed upon problem formulation and the analysis of the optimum solution. This can be a very useful teaching tool, providing in minutes what would take hours to accomplish by hand. n F^lstnning 42 At present, the function of production planning in industry is a somewhat inexact activity that strives by various means to develop a broad over-all producing plan for an organization. This is man- agement's grand strategy planning. In developing such a plan, an incomplete picture of the cost relationships usually exists, and in many cases it is difficult to obtain a factual comparison between two or more production plans. The production planning activity includes the consideration of various tangible factors (producing ability, costs, etc.) and intang- ible factors (labor and community relations, management policies, etc.) and the analysis of their effects upon the manufacturing plan and vice versa. This is usually accomplished in an intuitive man- ner, somewhat like putting all the information into a stew pot and 42 1 am indebted to Mr. N. V. Reinfeld of Executive Services, Cleveland, Ohio, who suggested this general approach to the production planning problem. A similar approach may be found in: Joseph O. Harrison Jr., "Linear Programming and Opera- tions Research," J. F. McCloskey and F. N. Trefethen, eds, Operations Research for Management, pp. 231-33, John Hopkins Press, 1954, and Edward H. Bowman, "Pro- duction Scheduling by the Transportation Method of Linear Programming," Journal of the Operations Research Society of America, V. 4, No. 1, February 1956, pp. 100-103. 172 PRODUCTION PLANNING 173 cooking up a "brew" (manufacturing plan) that is probably some- what similar to last year's because everyone was reasonably satisfied with last year's plan. Mathematical programming offers a more scientific and potentially better approach to the production plan- ning problem. The mathematical programming approach is accomplished in two phases. The first phase considers only the tangible cost and capa- city data. Here it is possible to consider the problem as one of dis- tributing producing ability to meet a sales demand at the lowest possible cost. The solution to the first phase of the problem may be obtained via the distribution methods of mathematical program- ming. The second phase of this approach involves analysis of the lowest-cost plan of the first phase in terms of its effect upon the established management policies of the organization and vice versa. The plan is then modified as may be necessary, but the cost factors are still included, permitting modifications to be accomplished in the lowest-cost manner. This approach then results in the lowest- cost manufacturing plan that is consistent with the various organ- izational limitations and policies. GENERAL MATHEMATICAL FORMULATION Before developing a specific problem it will be of interest to con- sider the general mathematical expression for a production planning problem. If we let Pj = number of units of producing capacity in the yth month Qi = number of units of forecasted sales for the ith month x ij — number of units produced in they'th month and sold in the ith month a tj = cost per unit to produce in theyth month and inventory for sales demand in the ith month i = (1,2, 3, •••,12) / = (1,2, 3, •••,12) then the production planning problem can be formulated in two sets of relationships. The first set (restrictions) says that what is produced in the yth month and sold in that month and succeeding 174 ELEMENTARY MATHEMATICAL PROGRAMMING months is less-than-or-equal-to the production capacity for the yth month. Mathematically, this is 12 2 x„ ^ Pi (7.1) where i^J The second set of relationships (equations) considers the sales demand. What is sold in the ith month must, of course, be pro- duced in that month or preceding months (since back orders will be excluded from consideration). Mathematically, this is i 7 = 1 The objective function is to minimize the producing and storage costs and can be stated thus: 12 \ (ciij x it ) = minimum (7.3) i=l 7 = 1 The total producing capacity is then 12 2 p i = p tot (7.4) 7=1 and the total sales forecast is then 12 2 e* = Qtot (7.5) i=l where Ptot ^ Qtot The total producing capacity (P tot ) is shown as greater than the total sales demand (Q tot ). This will be the usual case and can be obtained by including overtime producing capacity and /or subcon- tracting. The latter offers a potentially unlimited producing capacity. PRODUCTION PLANNING 175 The summation limits of (7.1) and (7.2) factor out the possibility of back orders; i.e., February's production cannot be used to fulfill the January sales demand. Back orders may be considered if man- agement can provide factual cost information. However, this general statement of the problem will not allow back orders since it is usually difficult if not impossible to assign a factual cost to back orders, and also since the sales forecast is usually considered as a demand that must at least be met. The preceding general formulation as it stands is really not as general as it can be. Usually overtime production must be included since it may indeed be more economical to manufacture at overtime to meet a demand rather than manufacturing at regular time with subsequent inventories to meet the demand. The general formu- lation can be expanded to include this if we let Xij = number of units produced at straight time in the jth month and sold in the ith month x'ij = number of units produced at time-and-one-half overtime in the y'th month and sold in the ith month x" H — number of units produced at double overtime in they'th month and sold in the ith month a {i = cost per unit to produce at straight time in theyth month and inventory for sales demand in the ith month a\j = cost per unit to produce at time-and-one-half overtime in theyth month and inventory for sales demand in the ith month a"ij = cost per unit to produce at double overtime in they'th month and inventory for sales demand in the ith month Pj = number of units of straight-time producing capacity in the yth month Pj — number of units of time-and-one-half overtime producing capacity in the / th month P'j = number of units of double overtime producing capacity in the yth month Qi = number of units of forecasted sales in the ith month y = (l,2,3,..-,12) i = (1,2, 3, •••,12) Then the first set of restrictions involving producing capacities can 176 ELEMENTARY MATHEMATICAL PROGRAMMING be expanded to include the overtime consideration as follows: (7.6) 12 2 x, » i=j < P 12 i — ± ) 12 < P" (7.7) (7.8) The second set of relationships (equations) expressing the sales demand can also be expanded thus: i ^ (*i, + x'a + *"*,) = Q< (7.9) 7 = 1 and the expanded form of the objective function is now 12 \ (a tj x it + a'ijX'ij + a" ^x" ^) = minimum (7.10) i=l 7 = 1 The objective function (7.8) can be simplified somewhat by de- ducting the basic unit costs in direct material, direct labor, and burden or overhead, since these are common to every unit pro- duced. These costs will remain constant with any fixed total de- mand. The true variable costs in the problem are labor overtime premium, storage and inventory costs, and hence are the only costs that need to appear in the objective function. This general formulation or mathematical model of the produc- tion planning problem takes the form of 12 linear equations and 36 linear inequalities involving 234 variables. At this point the prob- lem might seem insurmountable since the simplex method would require a 48 x 282 matrix array (48 relationships or rows and 234 variables or columns plus a 48 x 48 identity). However, the sim- plex array would contain all unity numbers, and hence would indi- cate a type of distribution problem. The simplex array would not, however, exhibit the regular pattern of numbers so characteristic of distribution problems. PRODUCTION PLANNING 177 The distribution problem pattern in the simplex array would be more readily seen if the summation limits (relationships 7.6, 7.7, 7.8 and 7.9) were relaxed so that 12 2*« < P 12 1=1 < P 12 1 = 1 < P" and 12 (7.6.1) (7.7.1) (7.8.1) ^ (**, + *n + *"„) = Q t (7.9.D 7 = 1 This would be an equally legitimate formulation so long as an arbitrarily large cost (like —M) were assigned to all # 4 /s where i <y. This second formulation would result in a 48 X 480 simplex matrix (48 relationships with 432 variables plus a 48 x 48 identity). Though this formulation would result in an even larger array than the previous one, it would exhibit the regular pattern so character- istic of distribution problems. Therefore, the production planning problem lends itself to solu- tion as a distribution problem. The factory capacities month by month can be considered as sources of supply whereas the sales forecast can be considered as demand. With this analogy it is pos- sible to visualize a distribution matrix with monthly factory capaci- ties represented by the columns and the monthly sales forecast represented by the rows. This may be more readily seen in a typical problem. A PROBLEM An organization, producing a variety of home workshop machines, desires an annual manufacturing plan to be prepared for a combi- nation disk and belt sanding machine. The sales forecast and all pertinent cost and capacity data are available. The planning is 178 ELEMENTARY MATHEMATICAL PROGRAMMING best accomplished by working with man-hour data because this is the most reliable measure of producing capacity. The problem is complicated to some extent because the manu- facturing plans are already prepared for all products except this sanding machine. This means that a portion of the total factory capacity is already taken up in producing these other products. Therefore, the available capacity shows a considerable fluctuation during the year. The problem is then to develop the best producing plan (i.e., the lowest-cost plan consistent with management's policies) to meet the sales forecast for the sanding machine. Data. The following data are representative of that required to develop such a manufacturing plan: 1 . Forecasted sales in units: follows: January 1 2,500 July 25,000 February 7,500 August 27,500 March 1 7,500 September 32,500 April 22,500 October 30,000 May 1 7,500 November 22,500 June 20,000 December 1 5,000 Total 250,000 units 43 he factory capacity already planned for the other produc Man-hours Man-hours January 46,000 July 48,000 February 53,000 August 41,000 March 38,000 September 30,000 April 44,000 October 48,000 May 44,000 November 48,000 June 42,000 December 49,000 3. The factory normally works two shifts of 40 hours per week, 52 weeks per year. The two shifts are of equal size. 4. In a normal two-shift working day the total plant capacity is 3520 man-hours. 5. Each unit of the sanding machine requires 1.5 man-hours of direct labor. This includes necessary plant efficiency allowances. 43 This forecast is by no means to be construed as indicative of the actual demand for this type of product. This is merely an illustrative problem. PRODUCTION PLANNING 179 6. The average direct labor costs are: First shift $1.70 per hour Second shift $1.75 per hour 7. The average factory burden is determined as 200 per cent of the direct labor costs. 8. Each unit requires $10.00 of direct materials. 9. Overtime is paid at time and one-half for work in excess of 8 hours in one day and 40 hours in one week. Overtime is paid at double time for Sundays and holidays. 10. Storage facilities are sufficient and cost $0.20 per square foot per month. Each finished unit occupies 1 .3 square feet of floor space, but the units can be stacked four high. 1 1 . Inventory charges are 20 per cent per annum on the average inven- tory investment. Inventory charges are usually calculated monthly. 12. Finished stock inventory at the end of the producing year must not exceed 500 units. 13. Production and distribution are such that the total units produced in January are available for sale in January. The lead time from manufactur- ing to the consumer is zero. This is representative of the type of data required for production planning; however, some calculations have to be accomplished be- fore the problem is ready for mathematical programming. First, it is necessary to determine the available plant capacity. This can be accomplished rather easily as is shown in Figure 108. Similar calculations are necessary for every month in the plan- ning period (one year in this case). These calculations are sum- marized for the entire year in Figure 109. Actually only the calculations to the columns labeled available capacity are necessary to establish the rim conditions of the distribution matrix. The other data were compiled for comparative purposes. The data in Figure 109 are representative of those usually required in other methods of production planning. Usually the production plan is prepared by intuitive judgment and inspection of the data. One can see, however, that overtime production will enter into the problem because the available straight-time producing capacity is 10,296 units short of the sales forecast. Calculations similar to those shown in Figure 108 and summar- ized in Figure 109 must then be made for overtime production capacity. Here it is necessary to consider either an arbitrary or a practical limitation on possible overtime. In this problem the 180 ELEMENTARY MATHEMATICAL PROGRAMMING Month January 1957 Regular Working Days 22 Total Plant Capacity 3520 Man-hours per day X 22 days = 77,440 man-hours Capacity not available 46,000 man-hours Capacity available 31,440 man-hours 31 ,440 man-hours „«.«,« = 20,960 units 1 .5 man-hours per unit Required Capacity (Sales Forecast) 12,500 units 1 8,750 man-hours Difference between Available and Required Capacity + 1 2,690 man-hours + 8,460 units (surplus over required capacity) Number of Employes 31 ,440 man-hours ___ = 1/9 employes 22(8) hours per man Fig. 108. Straight-Time Production Capacity— Sample Calculations maximum limitation on time-and-one-half overtime was assumed to be approximately 18 hours per week or 2 hours per week day and 8 hours per Saturday. The problem solution shows that con- siderable latitude is possible in the maximum overtime capacity. The necessary overtime calculations for this problem are shown in Figure 110 and summarized in Figure 111. Subcontracting is omitted from this problem for simplification. Now the rim con- ditions for the distribution matrix are completed. The manufacturing costs at straight time and overtime and inventory costs for several periods must be determined. Sample calculations for manufacturing costs are shown in Figure 112, and for inventory and storage costs in Figure 113. These costs are summarized in Figure 114. In Figure 114, the basic unit cost ($17,764) has been subtracted from all the succes- sive unit costs. The difference then reflects the overtime, inven- tory, and storage costs: the true variable costs. It can be seen that the inventory and storage costs are added to the investment. This > X O o o CN to 00 w> 00 , *o CO •o o O o o to ^ K O o CO o o O O o 2. ^ LO o^ ** CN i^ 00 to o v CK to CN CN II co CN o" o" 1 — O ^t t— o" 1— CK O o" i — 1— i— CN CN i— 1 — ■ — i — + + + + + + + + + 1 1 1 1 (1) . X o CO ^ 00 CN 00 K K CO CN o CN K o K O K O O io K ^r CN Z"a E hi CN CN CN O o >o ^* CO K CO K K K K CO «o •O o ^ to O K O o . CN •o CO CN in ^t ^ "l K CO CO CN to CD to K CN c O oo" ^f o" CN ^ *~ to CO to 00*" K O c u o> + + + 1 + i 1 1 1 1 1 1 T </> o o o O o O O o o o o O 3 o to K CO o o >o to ^* to O Q o o i — O CO 1 — •o O^ 00 CO o v CO _C c <N o O CO K •— 00 ■^r 00 CN »— i— o r— i^ i — ^ + + + i + 1 1 1 1 1 1 1 o o o o O o o o o o o o o in o o o o o o o o O o o o o — «o tO "l »o to o o v «o "l CD iO o o c Z> CN K K CN K 6" to" K CN o" CN iO o "S -^ r— i — CN , — CN CN CN CO CO CN 1— to w . — CN => s Ul 0) o D o o o O o O o o O O O o c* U o •o LO to •O to O o to to O to o -C K CN CN K CN o to CN K o v K "l c o 00 ■ — >o CO* sO 6" isT . — 00 to" co" CN •"" r— CN CO CN CO CO ^t ^ ^r CO CN o o O >o CO CO K CO CO CO CO K ^r in •o o ^ ^* O CO CN o CO K CO O o .*£ o. «© Cn CN CN o O CN CN CN CK CN K c 3 o" 1 — CO** o" CN 00 O ^ o i — V ^r O CN 1 CN 1—1 CN ■"■ ■ CN CN CN 1 '"■ CO CN </> > o D O o O o O o o o o O o o ^t o CN CN ^f o ^ ^f o O o o -C ^f -3- O O ^ ^ ^ -^ u -<r CN ^ Tt^ o 3 r— K tO O CO oo" c> <r o - CN CN ,_ CO •"" CO CN CO CN CN CO -?r CO CN CN O * in o o o O o o O o o O O O X-Q o O o o O o o o O o O o O • - _E -C O o CD o v O v o v o v CD o C3 C} o v o '5 o 3 >o CO oo" V ^r" CN oo" ■ — o oo" cd" C> Q. > 3« ^- <o CO ^ ^ Tf ^ '•t CO ** ^r "* x I/) o o o o O O o o o o O O ll o ^r o CN CN ^r o ^r ^J- o •o O O -C "* Tt O O ^t ^r ^r ^ ^r v CN ^t ^r O Q. •"" O C hs o CO CO K o K K o o o 6" U o 3 K K K K IS. K K N. K CO K K c to ^f ^f to ^r ■^r to ^r ^r to ^ ^r to to ^t "t "O ^- ^ LO ^r to ^r ^r to ^r X CN o ^ CN O CN CN o CO o o o O CN CN CN CN CN CN CN CN CN CN CN CN X. b 3 C O - > X o 3 CO LL. u b Q. < X D CO c _x 3 D CD D < 1_ d) _Q E CD -»- Q. CD CO CO _Q O -i- u o a; _Q E > o Z CD E CD V d) Q "5 2 181 182 ELEMENTARY MATHEMATICAL PROGRAMMING Month January, 1957 Regular Work Days 22 Overtime Work Days Saturdays — 4 Sundays —4 Number of Employes 179 Units at Time-and-one-half Overtime 22 days at 2 hours per day 4 Saturdays at 8 hours per day Total 1 79 men at 76 hours 1 3,604 man-hours 1 .5 man-hours per unit Units at Double-time Overtime 4 Sundays at 8 hours per day 1 79 men at 32 hours 5728 man-hours = 44 hours = 32 hours 76 hours = 1 3,604 Man-hours = 9069 units 32 hours 5728 man-hours 3819 units 1 .5 man-hours per unit Fig. 110. Overtime Production Capacity— Sample Calculations makes, in effect, a cumulative or compound inventory charge. This need not be so and will be discussed more fully later. These data then permit the development of a distribution matrix which expresses the first phase of the production planning prob- lem. The problem takes the form of a 13 X 36 distribution matrix as shown in Figure 115. This organization certainly makes the problem appear more easily solvable, and yet every relationship of the general statement of the problem (7.6, 7.7, 7.8, 7.9) remains intact in the problem. The pro- ducing capacity (7.6, 7.7, 7.8) is represented as the columns, and the sales demand (7.9) is represented as the rows. The simplified form of the cost factors (a ij ,a' ij , a" ^ representing overtime, storage, and inventory costs) appears as the cost factors in the respective ith rows andy'th columns. The quantities x i}i x' ijt x ,/ ij are to be deter- mined subject to the rim conditions. PRODUCTION PLANNING 183 « O* t O KOO CN O O 00 O CO .*: — O O CS O* ^ O — -* ^ 00 10 J= oo n s kok lo^rK co o cn 3 co cn in co^r^t co ^r >o co cn co 3 00 >o o o ^* o ^r ^f o 00 o o o CN lO o o ^r CN ^* CN CN CN 00 00 X K ^ no <> r— CO •O w— K •^f CO 0) c »o CO 00 •o" >o K U0 O O UO ^r ^r E o '■^ 3 aj > o 9) in E 3 CN CN o CN CN O CN CN o CN CN o i O x CO CO -* CO co ^T CO CO ^r CO CO -=t 2 D o a -a ^* ^f U0 ** -^ *o -* ^r IO ^r ^r lO u G a o u c o O* O CS r- 00 O p- CN K 00 O O <u J2OKOC0CNOOOKOOK £ "c O ■-; O^ K K ^ ^ UO CO CO ^ CO .E 3 cs uo" — oo" c> oT co" — cn oT nT «o J o «2 io 3^-<500CNCNOCNOO>OCNO^ O aoOUO^fKO^rOCO- OOCO •- E X O v K iO — lO CN >0 CO CN t> CN K t <= CO* K K CO*" -^ V CN K CO co* — oo" C «> j - -,-„_.-_^^ v C ^ O CN CN ^fr O O O^-CN 00OCN ? o K K 00 K K 00 K 00 K K CO K E O «2 FT? n 5 Tf^rio t-^io ^io^ Tfio^ 2 co • a -*' O -* </> ^ § — }r X CN O — — CN O CNCNO COOO .CO ■— <0 CN CN CN CN CN CN CN CN CN CN CN CN a) ,_ > Cj a <D O) .. <" IT 5 5 2 £ O 3 -o _2 -c o fi >- O 00 ^ 00 CN 00 hsKCO OOCN ^I-00 ■2-2 KO— KOK >0 O «0 K^CN </» | Z g- — — CN — — — — CN CN —,-.- Oj.1 .E i i_ E 5 » ® a3 fe © ° E X b "g fe rQ i t 1 * 4fi il^ til Sii! !^ 8 184 ELEMENTARY MATHEMATICAL PROGRAMMING Straight-Time Production Costs Direct material Direct labor 1.5 man-hours per unit X $1,725 per man-hour Manufacturing burden (200% direct labor) Total unit cost Time-and-one-half Overtime Production Costs Direct material Direct labor (including overtime) 1.5 man-hours per unit X 1.5 ($1,725 per man-hour) Manufacturing burden* Total unit cost Double-time Overtime Production Costs Direct material Direct labor 1.5 man-hours per unit X 2 ($1,725) Manufacturing burden* Total unit cost $10.00 2.588 5.176 $17,764 $10.00 3.882 5.176 $19,058 $10.00 5.176 5.176 $20,352 Fig. 112. Manufacturing Cost Calculations * Note: Manufacturing burden rate would actually be lower at other than straight time. For simplicity, the same number of dollars of burden is used. This reflects the lower rate. Unit cost $17,764 One month's storage Inventory charges 0.20 per year ( T ) $1 7.764 = 0.296 (1 year \ 1 2 months/ Floor-space costs 1.3 square feet /<t 0rt , ,. n nAZ - - ($.20 per square toot per month) = 0.065 4 units Total inventory and floor-space charges 0-361 Total unit cost (including one month's storage) $18,125 Fig. 113. Storage and Inventory Cost Calculation Note: Inventory charges for the second month are based on the unit cost of $1 8.1 25. Subsequent inventory charges are based on the unit cost including applicable storage charges. Cost at Straight Time Difference from U.C. = 17.764 Cost at Time- and-one-half Overtime Difference from U.C. = 17.764 ■ Cost at Double-time Overtime Difference from U. C. = 17.764 17.764 19.058 1.294 20.352 2.588 First Month Storage Inventory cost Floor-space cost 0.296 0.065 18.125 0.361 0.318 0.065 19.441 1.677 0.339 0.065 20.756 2.992 Second Month Storage Inventory cost Floor-space cost 0.302 0.065 18.492 0.728 0.324 0.065 19.830 2.066 0.366 0.065 21.187 3.423 Third Month Storage Inventory cost Floor-space cost 0.308 0.065 18.865 1.101 0.331 0.065 20.226 2.462 0.353 0.065 21.605 3.841 Fourth Month Storage Inventory cost Floor-space cost 0.314 0.065 19.244 1.480 0.337 0.065 20.628 2.864 0.343 0.065 22.013 4.249 Fifth Month Storage Inventory cost Floor-space cost 0.321 0.065 19.630 1.866 0.344 0.065 21.037 3.273 0.368 0.065 22.446 4.682 Sixth Month Storage Inventory cost Floor-space cost 0.327 0.065 20.022 2.258 0.351 0.065 21.453 3.689 0.374 0.065 22.885 5.121 Seventh Month Storage Inventory cost Floor-space cost 0.333 0.065 20.420 2.656 0.358 0.065 21.876 4.112 0.381 0.065 23.331 5.567 Eighth Month Storage Inventory cost Floor-space cost 0.340 0.065 20.825 3.061 0.365 0.065 22.306 4.542 0.389 0.065 23.785 6.021 Ninth Month Storage Inventory cost Floor-space cost 0.347 0.065 21.237 3.473 0.372 0.065 22.743 4.979 0.396 0.065 24.246 6.482 Tenth Month Storage Inventory cost Floor-space cost 0.354 0.065 21.656 3.892 0.379 0.065 23.187 5.423 0.404 0.065 24.715 6.951 Eleventh Month Storage Inventory cost Floor-space cost 0.361 0.065 22.082 4.318 0.386 0.065 23.638 5.874 0.412 0.065 25.192 7.428 Fig. 1 14. Unit Costs for Inventory and Storage 185 B |lj 5 5 5 5 5 S s §i _7_ a- _7_ s <=> 5 | I » 2 *~ o 5 5 5 1 5 5 5? 7 § 7 7 l « CO 7 => 1 f|| 5 1 5 5 5 1 5 - 7 <=> 2 | 1 1 ° 1 s = ° 1 5 1 5 1 5 5 s 7 7_ 7 7 §i S| 5 3? <= s | £ » 5 5 5 5 1 7 § c=> ^ s 7 7 CO 5 <=> B III 5 5 5 5 1 <=> o o 5 7 7 CO 1 7 ■=> CnT ■et = ° .i 5 1 5 5 33 °-. 7 1 O- 1 s s <=> => s -i 1 « - B ° 5 5 1 5 7 7 1 7 s CO 7 7 ro f §j o CO f |I 5 5 1 5 1 o 7 CO s 1 7 CO 7 7 7 1_ <=> >o s = j I 5 1 5 1 7 s « 7 7 CO 7 « 1 7 o 1 ill % j » 5 5 7 § 1 ^ 7 1 7 7 3 o* 7 o § ||j 5 1 5 - <=> CO 5 7 7 i 7 1 1 - 3 j Hi 5 CO 7 7 1 n' s -o. 7 s 7 1 s? 1 o 3 J i » 5 1 7 § 1 l I 7 7 So 3 « 2 o o ||| 5 1 - i = s 7 2 CO US 1 7 3 1 «=» o 1 = ° .1 7 7 7 s 7 s s s s c=> 7 7 1 o 1 = 1 o T § 7 ■* C~j 1 1 7 s 7 CO 7 o 1 III o 7 <= 5 7 i 7 ? 1 <=> 3 1 7 «= o \ Production \ Month Sales \ Month \ a i a S i s 1 i £■ o 1 1" 1 j 186 o § s § o § g o o § a § § g 1 s l M = ° .1 i 5 ^ 5 1 5 5 5 5 1 5 ^ 5 CO <=> 1 § ^ — ■5 Z ~° | 1 « £ Z ° ^ 5 ^ 5 1 5 5 1 5 5 5 ^ 5 c£ 7 o CO f|| 5 5 ^ 5 1 5 1 5 5 5 5 1 ^ 5 o C3 1 = ||| 5 1 5 ^ 5 5 5 5 1 5 1 5 i s 7 ° 1 o = - .2 a -5 J I - - 1 ° 5 5 1 5 5 1 5 1 5 5 5 1 5 1 5 S 7 O •o f|| 5 5 5 1 5 5 1 5 5 5 1 5 5 1 ° 3 7 <=> 1 o ||l 5 5 5 5 1 5 5 1 5 1 5 5 CO §: 7_ o CO 1 H - 1 ° 5 5 1 5 5 5 5 1 5 1 5 5 § <=> ■=> 1 f l| 5 5 1 5 5 5 5 1 5 5 5 1 «= o <=> <= 1 i ill 1 1 p 5 5 1 5 5 5 5 5 5 1 OO 7 °! CM CO J_ o s 1 if - 3 ° 5 5 5 5 5 5 1 5 5 7 ^ 7 § o O. fjl 5 1 5 5 1 5 5 5 1 5 5 ° c=> 1 7 2 ° s «* i § I 5 1 5 5 5 5 5 5 § o* 5 S e>- <=> 5 111 111 ct — ° 5 1 5 1 5 5 5 1 5 5 § 2 -O s c-j <=. S III 5 5 1 5 1 5 1 5 5 5 1 o ° o 1 ° 1 «= £ J = ° .1 5 1 5 5 5 1 5 1 5 1 33 7 7 7 3 « 8 1 ° " -i .1 ■ 5 1 5 5 5 5 1 5 1 5 T 7 ^ CO 7 o s f J j 5 5 5 5 5 5 1 <=> en T 7 5 7 o 7 i o >o \ Production \ Month Sales \ Month \ 1 i s •< J » ? en i o se a E E 1 187 ? J -2 = o I 5 1 5 1 5 1 5 1 5 l g §! 1 1 s s _i_ <= | 1 ||| ct — ° 5 1 5 5 5 5 § § i 1 1 § - I 1 ||j 5 5 5 5 1 5 1 1 <=> CO 7 2 s 7 7 - 1 M |I| 5 5 5 5 s » « CO 7 CO s 7 1 1 J i i 1 i « 5 1 5 5 5 1 § § 1 § 1 s 7 3 <= 6 R 1> 1 1 5 5 5 5 I 7 <=> 1 s 2 ^ CO | 3 s •< Sol 5 1 5 1 1 s 1 CO 1 | 7 7 § 7 s 1 1 1 ill 5 5 5 1 § 7 7_ 3 IL 7 « 7 5 7 <= 1 1 ill 5 5 5 1 1 1 <=> 2 7 CO 1 7 1 <= 1 s = ° .i 5 5 1 ^ 7 7 7 ^ § 7 7 7 5 CO 1 1 ■§ 1 !I 5 5 7 7 7 7 1 « 7 5 3 7 Ov 1 f J| 5 5 1 <=> 1 7 1 ° 3 s? 1 1 3 1 1 <=> 1 £ I! 1 5 CO 7 7 § 1 Ov § S s I ™ 1 <=■ 1 iii 5 1 s § 1 1 7 7 CO 5 *i 7 7 => g <=> •5 .1 = 5 1 = 1 7 2 7 7 7 7 7 7 ° 1 = I 7 §; 1 1 ! 7 E 7 1 CO 7 2 1 1 1 || 1 ct — ° T , § 1 7 I 7 7 5 7 7 1 1 <=> <=> 1 fjj <= 3 <=> 1 1 !§ ? 7 ^ 1 7 1 1 1 <o I \ Production \ Month Sales \ Month \ 1 E E j 188 1 o | s s § | c=> g <=> e> 1 o s 1 £3 = ° .1 5 5 ^ 5 1 5 5 1 5 5 5 1 5 5 OO c= S 5 ■5 Z ° -o .i °> £ - <= 5 1 5 ^ 5 5 5 5 5 1 5 1 5 5 | 7 g o 1 1 ill 5 5 1 ^ 5 1 5 1 5 5 ^ 5 1 5 5 1 «= s => ~e> - || J 5 5 i 5 5 5 1 5 5 1 5 5 1 S 1 o 1 1 111 5 1 5 ^ 5 5 5 5 5 1 5 1 5 £ 1 § => 1 b -i = 5 5 ^ 5 1 5 1 5 5 5 5 1 5 o cr> <=> o 1 o = ° .1 5 5 1 5 1 5 5 5 1 5 1 5 5 7 1 § ° 1 5 |1| I 1 « 5 5 1 5 5 1 5 1 5 5 5 5 s o J_ 1 _7_ « I o 5 i= -S 5 5 5 1 5 5 1 5 5 5 5 1 <= I 7 5 1 ° K J- II ! 5 5 5 1 5 5 1 5 5 5 1 OO o- _7_ i o | s Ill I jl 5 5 5 1 5 5 1 5 5 5 c* 7 7 1 C3 ci 1 fjj 5 5 5 1 5 5 5 1 5 5 «= <=>- i § 7 5 O 1 «* So] 5 5 1 5 5 5 1 5 5 7 7 7 J_ 7 «= 5 i b? — ° 5 1 5 5 1 5 5 5 5 T § 1 7 1 «= 5 s til 5 5 5 1 5 5 5 1 1 <=> s <=> OO <=> 7 7 o s J |jj 5 5 5 1 5 5 5 S 7 I _7_ X «o o s s 1 1 =5 J .1 • o? — ° 5 5 5 1 5 5 5 1 £ § 1 7 7 m o I I tl| 5 5 1 5 1 5 5 1 5 1 ° 1? i s 7 2 1 i ° 1 V Production \ Month Sales \ Month \ 1 i J «a s 1 ?> 1 i o z a | | E 3 E Q. o I x 189 190 ELEMENTARY MATHEMATICAL PROGRAMMING Note that the rim conditions have been balanced with the dummy row (row 13) which represents fictitious demand for the product. In the real physical situation, this represents unutilized producing capacity. Note also that the cost factors for about half of the matrix are — M. Since back orders are not considered practi- caHn this problem, the — M cost (defined as so large that it domi- nates all else in the problem) accomplishes this restriction. If management allowed back orders, then a suitable cost factor could be used. However, such a cost would be difficult if not impossible to obtain. Optimum Solution. The production planning problem can now be solved by any of the distribution methods. Vogel's Approximation Method (YAM) and subsequent improvement with the modified- distribution method yielded the answer in several steps 44 by hand. The problem can also be solved by automatic computers. How- ever, the cost of machine computation over hand computation for a problem of this size might be difficult to justify. The optimum (lowest-cost) solution to the distribution matrix is shown in Figure 116 and summarized in Figure 117. Figure 118 shows a cost summary of the optimum solution. A quick analysis of this solution indicates that it is a totally practical solution as it stands. If it were not, however, phase II would proceed to modify the lowest-cost solution to one that would be compatible with the various management policies. The second phase in production planning can modify the lowest- cost solution of phase I by analysis of the water-square evaluations. If a modification must be made, then the water-square evaluations will show how the modification can be accomplished at the lowest possible increase in costs. Two points about the problem should be borne in mind. First, this problem assumes a zero lead time from manufacturing to con- sumer sales. Though this is seldom if ever the real case, a suitable lead time can easily be included in the problem formulation. Sec- ond, the inventory charges are cumulative and calculated monthly for a full month's storage in inventory. In an actual situation this 44 This problem required the VAM plus six steps with the MODI method for solu- tion. This required 10 hours. However, I believed that the solution could be accom- plished in fewer steps and a shorter time period. This was verified by re-solving the problem requiring the VAM + two steps with the MODI method. This was accom- plished in approximately 3 hours. However, this probably reflects bias due to prior knowledge of the solution. This same problem required only 15 minutes to solve with the IBM 650 computer. PRODUCTION PLANNING 191 January February March April May June July August September October November December *At overtime. Produce 20,960 units Produce 1 1 ,600 units Produce 23,946 units Produce 1 9,946 units Produce 22,293 units Produce 1 8,933 units Produce 19,627 units Produce 24,293 units Produce 26,933 units Produce 21,973 units Produce 2,097 Produce 14,933 units Produce 7,466 Produce 14,267 units Produce 733 Sell 12,500 n January Sell 7,500 n February Sell 960 n March Sell 11,600 n March Sell 4,940 n March Sell 1 9,006 n April Sell 3,494 n April Sell 16,452 n May Sell 1 ,048 n May Sell 20,000 n June Sell 1,245 n July Sell 18,933 n July Sell 4,822 n July Sell 14,805 n August Sell 12,695 n August Sell 11,598 n September Sell 20,902 n September Sell 6,031 n October Sell 21,872 n October Sell 101 n November Sell 2,097 n October Sell 14,933 n November Sell 7,466 n November Sell 14,267 n December Sell 733 n December Fig. 117. Final Optimum Solution may vary somewhat and could conceivably reduce the inventory charges. It can be seen from the final optimum solution (Fig. 117) that a FIFO (first-in-first-out) inventory system is in effect. This is partly due to the compound inventory charges that were used. In general a FIFO inventory system will be more economical than a LIFO (last-in-first-out) system when inventory charges are compounded. Mr. G. T. Bishop 45 has presented an interesting modification of 45 G. T. Bishop, "On a Problem of Production Scheduling," Journal of the Opera- tions Research Society of America, V. 5, No. 1, February 1957, pp. 97-103. 646,875.00 1,293,750.00 $4,440,625.00 > 13,323.02 38,632.29 8,478.34 $ 60,433.65 $4,501,058.65 192 ELEMENTARY MATHEMATICAL PROGRAMMING Production Plan Cost Summary Manufacturing Costs Direct material costs $2,500,000.00 250,000 units @ $10.00 Direct labor costs 250,000 units @ 1 .5 man-hours per unit @ $1 .725 per hour Manufacturing burden @ 200% direct labor Total maunfacturing costs Additional Costs Overtime premiums Inventory charges Floor-space charges Total additional costs Total costs and charges Average unit cost = $18,005 Fig. 118. Final Solution— Cost Summary the solution method when inventory costs are not compounded. The costs are then such that any change within the body of the matrix, after an initial solution is made, will yield no increase or decrease in costs, unless a change occurs in the dummy row (or column). This fact then permits rather easy and rapid solution of the problem. However, this method would not apply too well in the preceding problem, even if the costs were not compounded. ANOTHER PROBLEM Another problem, somewhat similar to the preceding one, was solved. This problem better illustrates the two phases of the analy- sis. The distribution matrix for this problem is shown in Figure 119. It can be seen that the inventory costs are considerably higher than in the preceding problem and that a two-month lead time has been included. This lead time means that production must precede sales by two months. The optimum (lowest-cost) solution is shown in Figure 120. Here the solution implies layoffs in November, March, Septem- ber, and October, whereas it calls for overtime in February, June, July, and August. This type of labor fluctuation would probably PRODUCTION PLANNING 193 not be consistent with the established policies; therefore, the opti- mum solution of phase I must be modified to fit the established policies and any other intangible considerations. This is probably more indicative of the solution that will result from a real problem. PRODUCTION PLANNING-SEVERAL PRODUCTS In the preceding problem, the production planning was accom- plished for only one product. Actually a better over-all production plan could result if the problem included all the various products manufactured by this organization. This would not present an unsolvable situation. Problems involving two or more products can be handled in sev- eral ways. One approach, suggested by Mr. Bowman, 46 is to han- dle the production and sales demand data in terms of man-hours or some type of equivalent units. This will, in effect, add 12 rows to the matrix for every product. Though this will greatly increase the size of the matrix array, it still remains a solvable problem, at least by high-speed calculating equipment. Another approach is to consider the problem as a multidimen- sional distribution problem amendable to solution by the approxi- mation method presented in Chapter 2. Here the solution would be best obtained by high-speed calculating equipment. This multidimensional approach permits many other possible extensions of the basic production planning problem. In either case, the cost, capacity, and demand figures will prob- ably be in terms of equivalent units or man-hours. This means that the sales demands must be converted to man-hours, and the manufacturing and inventory costs must be in terms of cost per unit man-hour. Of course, as a problem becomes more complex, the number of calculations and the time and effort in solution increase. Likewise, the analysis of phase II becomes increasingly more complex. SUMMARY This approach to manufacturing planning offers a more compre- hensive analysis than is usually considered. Intangible factors can Bowman, op. cit, pp. 101-102. -S" = O J 5 1 ^ ^ 5 ^ 7 3 5 1 K = 1 ct — ° 5 ^ 5 1 5 5 7 7 CO 1 7 o <=> 7 C3 s f|| 5 i 5 5 5 ° i 7 i § 3 7 «= I J |l| 5 ^ 5 1 5 2 7 7 3 7 I 7 i 3 o 1 | E « 5 i 5 5 5 s 3 ^ 1 1 7 « 1 III 5 1 ^ 5 5 1 <=> 7 1 2 7 1 7 CO i a <=> £ ||J 5 ^ 5 1 ^ 1 7 7 5 2 s? s* 3 7 o 1 Ill 5 ? 5 1 7 CO 7 7 s 2 CO <=> 3 CO 7 o s ||j 5 1 ^ 5 ° d 1 1 « 7 <=> 1 o s d i j .1 5 1 ^ 7 3 3 5 7 c? 7 5 5 1 <=> 1 ct — ° 5 i 1 I 5 7 7 1 7 7 7 «= s 5 ^ ° 5^ 7 co o 7 2 1 7 7 7 <=> R o = J 1 5 7 S sj 5 CO 7 2 5 c=> T ° 5 111 -I .1 « ct — ° 5 <=> 5 7 7 3 7 <=> 7 7 7 o-' 1 <=> 1 ||f 5 <=> <=>' CO 2 7 CO 7 1 1 * 2 o s z = ° .1 - °° s 3 S §? S| s S 7 s 7 s 7 ° | -g 1 « - B ° 5 CO 5 a 5 7 7 3 3 2 o I «=» o ill ° T 7 7 1 7 7 § 1 1 1 ? o o '■5 o / \ i s <* s ? \L s- 1 E E £ 194 o 8 i o o o § 1 o s 1 1 <=> <=>" 1 o .1 3 i o.i 5 5 5 1 5 5 5 1 5 1 5 5 5 1 5 2 o R 1 ° " -5 .1 » S -z o 5 5 5 5 5 5 1 5 1 5 5 5 5 n <=> <=> f I J 5 5 5 5 5 5 1 5 5 5 1 5 5 «= - K i III 5 5 1 5 5 5 1 5 5 5 5 5 2 CO «= g <£ — ° 5 5 1 5 5 5 1 5 5 5 1 5 1 5 7 7 - e= f|| 5 1 5 5 5 5 5 1 5 5 5 1 5 CD o <o l 3 -a 1 o.| 5 1 5 5 5 1 5 5 1 5 1 5 5 7 7 7 o s 1 I » s e <§ 5 5 5 5 5 5 1 5 5 5 1 7 CO 5 o 5 ill 5 5 5 5 5 5 1 5 5 5 ° 1 7 c=> 1 £ = J .1 5 5 5 5 5 5 5 1 5 1 7 1 | 1 <=> S ■1 J « 5 1 5 5 5 5 5 1 5 1 5 1 <= CO 5 7 rS ° s 5.1 = 5 1 5 5 5 5 5 1 5 5 «=» <=> « a <=> If J ||j 5 5 1 5 5 5 1 5 5 3 CO 7 7 1 7 <=■ I ■5 ° ° -1 i « S <Z o 5 1 5 5 1 5 5 5 5 1 <=> c~i 5 o 5 <o § fl -I 5 5 1 5 5 1 5 5 5 ° 1 7 7 1 <=> 1 M = = .1 5 5 5 5 5 5 2 CO 7 S 7 2: ™ c=> 1 5 5 5 5 5 5 C3 53 CO s 7 7 => g ■f" J = 5 5 5 1 5 1 5 5 «= T o? 7 1 « - 1 \ Production \ Month Sales \ Month \ 1 £ s * s - f ■« 1 o 1 a E | ^ 2 < *c "5 195 «s Sol i 5 5 ^ 5 _7 1 I 3 7 7 o 1 1 ■2 1 ~% £ 'Z <=> 5 5 ^ ^ 5 1 7 7 CO 5 7 ?S 1 a 1 B flj 5 5 5 i ^ 5 ° S. 7 1 7 7 7 3 7 = I 1 || j 5 5. i ^ 7 7 3 7 2: 1 R ! <=> | 1 ill 5 5 ^ ^ s I 5 1 7 7 1 1 - » 1 til 5 5 1 5 i i ° 1 i 1 CO 7 7 "\ 7 1 7 o R a i |ii 5 1 5 5 2 CO 7 7 5 7 o? s 2 O-' o 1 CO -i 1 ^ 5 5 1 5 § 1 7 5 7 ^ 7 3 7 1 7 «= 1 1 tl| 5 5 i <=> §2 c= 1 7 2 1 « § § 1 ° 5. 1 = ° .1 5 5 1 ^ CO s 2 7 s 7 2 ~ 7 ■=> 1 1 III 5 5 1 o CO 5 7 7 7 CO 7 7 1 1 ? <=> s 3 III 5 1 5 o 1 T CO s 7 1 « § 1 7 1 - I J Sol 5 T oo 1 7 -. s? 7 7 5 s <=> S 5 ■^ ° a 5 T cS CO 7 7 7 ?5 o | 1 2 C3 <=> 1 1 f j| 5 1 <=> | o 1 _T_ 7 CO 7_ 7 7 1 8 1 7 o o - ||j - 1 s 7 ^ s. ?; 2 2 7 s ? ° 1 1 -i .1 « c= T CO 5 fS 7 7 o 7 s 1 5 7 7 <=> | I f j| <* § <=> s 7 1 7 7 1 8 1 7 ? <=> o oo 1 = y/ "Co / 1 £ S M- j ? -= * £• 1 E E 1 196 a <=> § | S <=> <=>_ <=> o c=> o o s s o | J J 5 5 5 5 5 5 1 5 1 5 1 5 1 5 5 3 - s s -I i « - B ° 5 5 1 5 5 1 5 5 5 1 5 5 5 5 7 = <= 1 fll 5 5 1 5 5 1 5 1 5 5 1 5 1 5 1 5 5 1 <= C3 o l R 1 III 5 5 5 1 5 5 5 1 5 1 5 5 5 1 S 7 <=> O o III | E « <£ - ° 5 1 5 5 5 1 5 5 5 1 5 5 5 1 CO ° <= I fll 5 5 1 5 1 5 5 1 5 5 1 5 5 5 1 ° 1 ? o l 8. ill 5 1 5 5 5 5 5 1 5 5 1 5 1 7 7 2 <=> | s 1 1 » 5 5 5 1 5 5 1 5 5 5 1 5 7 1 1 5 7 o 3 5 .5" 1 1 5 1 5 5 1 5 5 1 5 5 1 5 5 <=> s 5v 7 <=> S j = ° .1 5 5 5 1 5 5 1 5 5 5 7 1 C-J 7 _J " 3 -g 1 « - s ° 5 1 5 5 1 5 5 5 5 5 1 7 g ™ 5 7 7 <=> g til 5 1 5 5 S ^ 5 5 1 5 5 <=> § <=> CO 7 «= § J 111 5 5 1 5 5 5 1 5 5 7 CO s 7 7 => i I ■2 = a -| 1 ^ S S o 5 5 5 5 5 5 5 1 c= <=> CO 7 7 7 5 «= e» f|| 1 5 5 1 5 5 1 5 1 5 ° 1 <=> s i c*j 1 o 1 s ? J 1 5 1 5 5 5 5 5 1 ^ § s 1 - CO ° 8 1 -i i- £ t ° 5 1 5 5 1 5 5 5 1 T 7 5 7 s 3 ?s « s 5 111 5 5 5 1 5 5 1 5 1 o CO o s § £ ~o « ° | 1 1 /. -1 * x' -= | £ J a. J J i 1 t o Z a E E 5 o E J a O I c _o 197 198 ELEMENTARY MATHEMATICAL PROGRAMMING be somewhat more objectively reviewed in terms of their effects upon the various costs. However, it is necessary here to offer a word or two of caution. This type of solution does not and cannot include costs associated with labor fluctuations and turnover and other such nonlinear items (costs that do not vary directly with the production quanti- ties). Nor can it include costs associated with less than full budg- eted utilization of equipment and facilities, since this affects the manufacturing burden rate, and hence burden costs. Then too, the production plan is only as good as the sales forecast. This means that, no matter how well a production plan is developed, it is poor if it is based on an ill-conceived sales forecast. In a real situation, the greatest difficulty is not in obtaining the numerical solution but in obtaining meaningful costs, capacities, and requirements. If desired, alternative production plans might be based on some established upper and lower limits of the sales forecast. Comparison of these alternative plans for the upper limit, the mean, and the lower limit of the sales forecast will pro- vide management with a guide as to the flexibility of the produc- tion plan with a variable sales forecast. This additional informa- tion can be very useful in such situations. Some work is presently being conducted to develop methods for solving distribution prob- lems where the quantities (rim conditions) are expressed as a prob- ability distribution about some average value. However, this is still in the early stages of development. The problem can be expanded to include planning for the de- sired inventories period by period. Here the problem matrix takes on more rows or columns as the various inventories are included. In some situations this would be a more desirable formulation of the problem. The production planning may be accomplished on a continuous basis, either monthly or quarterly, for the next twelve-month period. This type of continuous planning means that a twelve- month plan is always available. While this requires more work, it means that more and better information is available to manage- ment. A once-per-year planning cannot include changes in sales demand from the original forecast. Continuous planning can suc- cessfully accomplish such changes. Less risk of suboptimization (optimizing one year's plan at a sacrifice in the next year's plan) would result in continuous planning. The production planning problem may be expanded to include several products. It is necessary, in considering such problems, to PRODUCTION PLANNING 199 express the production and sales in some common unit such as man-hours or equivalent units or in terms of one hour's production as suggested by Mr. Bowman. 47 Though this would increase the size (number of columns) of the distribution matrix, it still remains a solvable problem. However, if one considers this as a multi- dimensional type of problem, then the approximation method dis- cussed in Chapter 2 can be applied to solve the problem. The multidimensional approach permits many more possible extensions to the basic production planning problem. In the problem pre- sented here, the most economic manufacturing plan for all prod- ucts can be simultaneously developed by this approach. This then will reduce the danger of suboptimization inherent in the problem presented here. The application of mathematical programming to production planning is significant in that it was the first application to a dy- namic problem. It was held for a time that mathematical program- ming was a tool limited to static analysis. This, however, is not the case. A useful extension of this application might be in the distribution of products from various sources to various locations when the available supply and the demand fluctuate widely period to period. A better distribution can result from considering the total problem rather than one period at a time. The danger of suboptimization (optimizing one problem at a sacrifice to another problem) is materially reduced if the entire problem can be han- dled in the same analysis. It was mentioned previously that automatic high-speed com- puters might be used for this type of problem. It is entirely feasi- ble that all the calculations in the example problem could be programmed so that a computer would do all the work, beginning with the initial sales demand and the basic problem data, and end- ing with the optimum distribution matrix. Ibid. Stock Slitting Stock slitting presents a problem that can be successfully solved via mathematical programming. The term stock slitting refers here to the process whereby narrow rolls or coils of paper, Cello- phane, foil, textiles, metal, or other materials are cut from wider rolls. This is accomplished either by slicing the roll much like bread is sliced, or unwinding the roll, passing it through a set of knives, and then rewinding it. The machine that accomplishes this slitting has a number of knives which can be set in a number of positions. Hence a number of various widths can be cut from a roll at any one time. The problem in stock slitting arises from the fact that seldom do the orders for coils of the various slit widths provide for full utilization of the entire available width of the initial roll. Hence a portion of the initial roll (which is usually called trim) is either scraped as too narrow for use or inventoried for some future use when it will again pass through the slitting operation. In the first case, the trim material is wasted. In the latter case, additional costs are incurred in inventory, and, with some materials, addi- tional trim losses are incurred. Mathematical programming per- mits the stock slitting operation to be accomplished in such a 200 STOCK SLITTING 201 manner that the orders for the various widths of stock are filled with an absolute minimum trim loss. At the same time, the mathematical analysis can control or minimize overproduction of the various slit coils, thus minimizing the inventory problem. The discussion here will consider slitting exactly to meet the require- ments, and hence eliminating this inventory problem. THE GENERAL PROBLEM ANALYSIS The mathematical approach to the stock slitting problem involves two phases. The initial phase in the analysis is to determine all the possible settings of the slitter knives (subject to criteria as outlined below). Each setting of the knives produces a certain combination of slit coils of various widths plus some trim loss. It is necessary to determine these combinations in light of: 1. The various slit widths that are required from a particular material specification, weight, or gage. 2. The usable width of the coil prior to slitting. 3. The maximum number of cuts permitted at any one time. These, of course, determine to a large degree the total number of combinations possible. This initial phase provides the matrix for the mathematical programming analysis of the problem. The second phase of the problem is to determine how many coils to cut into the various combinations to meet the orders for the various slit widths with the minimum trim loss. This is further explained in the following problem. A PROBLEM The problem presented here is adapted from an actual steel stock slitting problem. However, the problem analysis would be very similar for other materials. At this point it may be well to define several terms which will be used. Initial coils— Coils as purchased or those coils prior to the slitting operation. Slit coils— Coils of widths somewhat narrower than the initial coils; those coils produced by the slitting operation. 202 ELEMENTARY MATHEMATICAL PROGRAMMING Combination— A number of slit coil widths plus trim loss produced with one setting of the slitter knives. In slitting most metallic materials, it is impossible to utilize the entire width of an initial coil, owing to the irregularities in the edges of the coils. These irregularities in the edge of the coil can break a cutter knife if it runs off the edge or can result in slit coils with irregular edges which can cause a variety of problems in the subsequent processing of the material. This means that a portion of the coil is lost in unavoidable trim, and that a somewhat nar- rower portion of the initial coil width is actually available to be made into slit coils. Figure 121 illustrates this situation. Unavoidable^ trim loss Usable width of initial coil Nominal width of initial coil JJnavoidable trim loss Fig. 121. Trim Loss in the Initial Coil The unavoidable trim loss is usually established by experience and is generally l A inch on each edge or x h inch total. This means that an initial coil 36 inches wide provides 35 Vi inches of width available for making into slit coils. The initial phase of the mathematical analysis requires the development of cutting combinations. These combinations, the variables in the subsequent linear programming analysis, can be developed either by hand or via suitable computing equipment. In either case, however, some limitations must be placed on these combinations. These are: W— The usable width of the initial coil; no combination can exceed this total width. N— The maximum number of coils that can be cut at any one time. This may be determined by the power capacity of the slitting machine or the number of knives or knife settings available. STOCK SLITTING 203 n— The number of slit widths to be cut from a given specification of material. These limitations, however, permit combinations that may only utilize a small portion of the usable width of the initial coil. This would require the remaining portions of the initial coil to be inven- toried and subsequently reprocessed through the slitting operation. Generally this reprocessing (or multiple-pass slitting as it is called) is avoided whenever possible, because, first, some additional un- avoidable trim loss is required in each subsequent pass through the slitter, and, second, the effective utilization of the slitting machine is considerably reduced. To eliminate combinations resulting in multiple passes, an additional limitation can be placed on the com- binations. This limitation is f— The maximum permissible trim loss. No acceptable combination can result in a trim loss > f. Generally this maximum permissible trim loss t will be smaller than the narrowest slit coil width, since a larger trim loss could be reprocessed into a slit coil. The total possible number of combinations, of course, depends upon all four of the above parameters. However, the maximum permissible trim loss is the only parameter that can have the most latitude. Certainly to limit t to a very small amount may well overrestrict the problem, yielding the entire analysis less than truly optimum. On the other hand, if t is too large, the number of acceptable combinations may be so numerous that the resulting mathematical programming analysis would be excessive even for computing equipment. Tfie Data. Consider a steel stock slitting problem with data as follows: Material: Hot-rolled steel, purchased in nominally 5000-pound coils. (The actual coils weigh between 3000 and 6000 pounds.) Gage: 0.078 inch thick by 28 9 /i6 inches wide. This material results in the following values for the four param- eters to determine the combinations: W = 28 l A inches, usable width of the coil (0.3125 inch unavoid- able trim loss) N = 11, maximum number of slit widths in any one combi- nation 204 ELEMENTARY MATHEMATICAL PROGRAMMING n = 6, the number of slit widths cut from this material t — 0.728 maximum permissible trim loss for any combina- tion (This value was arbitrarily selected for t) The slit widths and monthly requirements are as follows: Slit Width, inches Requirements, pounds 9 7 /8 68,000 9 3 / 8 454,000 m 44,000 4 Vie 24,500 3 47 /64 44,500 2%2 21,000 The Analysis. The initial phase in the analysis is the development of all the acceptable combinations. Forty-seven acceptable combi- nations result in this problem and are as shown in Figure 122. These combinations can be developed in several man-hours by hand, or they can be developed by an IBM 650 computer in approxi- mately 6 minutes. 48 As shown in Figure 122, each combination becomes a variable in the simplex matrix, and each slit width rep- resents an equation. The trim loss, in inches, becomes the objec- tive function. Hence the mathematical programming analysis of this problem must solve a 6 X 53 system (6 equations, 47 combina- tions, plus the 6x6 identity of artificial variables). The second phase in the problem analysis, namely the mathe- matical programming, can proceed then to determine the number of coils of the various combinations necessary to meet the require- ments with minimum trim loss. Before this can be done, however, the requirements must be modified to the number of coils of the various slit widths. This is necessary since each combination is expressed in terms of numbers of coils. For example, in each coil cut into combinations P 28 , two coils 8V2 inches wide and three coils 3 47 /64 inches wide are produced. Hence the problem analysis is most easily affected by dealing with everything in terms of number of coils. Assuming 5000-pound coils and determining the weight per coil 48 The IBM 650 computer program to develop the combinations for this and any other slitting problem can be obtained from me. The program will generate combina- tions for problems having up to 100 slit widths. A similar program is available for the IBM 704 computer. STOCK SLITTING 205 ev oT - U0 CO qT - - CN co 1 aT ■* o qT - CN - CO o qT U") ■N" ^~ qT - CO CO CO cu - - o» cz> ■>9; aT - ^ - CO aj - ■* T CO ■o ej - - CN - 2 oT CN o CO of CiT CN CO ^* 2 oT - - CN - CO oT CO K -o aT CN -* ? qT co co CN s oT CO <=> oT "* CN CN qT - CO o- oT iO CN £ aT - CO CO ■» oT •o - = oT - - CN co CO cC - - IS CN qT - CN CN - « c£ - ^r CN CO csj aT - CO - - 2 cC - - IS. CO oT - - CN - o oT - - CO CN CN qT - - ^r 1 qT - CN >o o qT - - - CN cn oT - CN co s ix - - - O- cC - CO CN CO evi cC CN - CN s c£ CN «o cC CN ~ CN o qT CN CO o cC CN - - s qT CN - CO E oT CN CN CO aT co - ° qT CN - C*J qT - co U0 o E Q-.E u c u c - * * x' * * o E 2 o Q-.E x- * * * * X * o- oo PS co CN oo ■^r CO CN SHiaiM ins SHiaiM ins 206 ELEMENTARY MATHEMATICAL PROGRAMMING as a percentage of the width of the initial coil, the requirements become: it Width, Weight per Coil, Requirements inches pounds Pounds Coils 9 7 /8 1706.5 68,000 40 9 3 /8 1620 454,000 280 8V2 1468.5 44,000 30 AVxe 702 24,500 35 3 47 /64 645.5 44,500 69 2 7 /32 383 21,000 55 These requirements have been rounded off to the nearest whole number of coils for convenience although this is not necessary. In fact, it will be shown later that this has a negligible effect upon the total problem. The requirements now complete the simplex array, and it is ready for solution. The Solutioi n. The optimum solu tion to the simplex an follows: 49 Combination No. of Coils Pi 20.0 P 15 92.567 P ■* 28 4.999 Par 5.833 P 24 2.30 P 47 9.166 Total minimum trim loss 13.1379 inches. (The avoidable trim from all coils totals 13.1379 inches.) This optimum solution expressed in terms of the number of pounds of each combination, since steel slitting orders are usually issued on a poundage basis, is as follows: No. of pounds Combination No. of Coils @ 5000 pounds per Coil Pr 20. 100,000 P 15 92.567 463,000 p ■*■ 28 4.999 25,000 P 37 5.833 29,167 P 24 2.3 11,500 P. 9.166 46,000 49 The solution was obtained in 8 iterations. This required 11 minutes on an IBM 650 computer. STOCK SLITTING 207 This solution then is in the proper form for the stock slitting orders. The orders may be issued for the poundage as indicated above, or the weight may be rounded off to the nearest thousand pounds. Here is one situation where the results of the mathemat- ical programming analysis are in exactly the same form as the present manner of operation in most industries. This solution will yield the following amounts of the various slit widths. Slit Width, inches Poundage via Combination No. 9 7 /8 69,150 P 1 9% 455,916 P 15 3,984 P 24 459,900 lb. total 8fc 29,750 P, 14,880 P x 28 44,630 lb. total 4 Vie 24,748 P ± 37 3 47 /64 9,805 -*28 3,790 P ■*■ 36 7,844 P 24 24,058 P 47 45,497 lb. total 2 7 /32 21,441 P 47 Post-Solution Analysis. It can be readily seen that the solution meets the requirements as initially listed. This solution would result in the following approximate poundage if all the initial coils were exactly 28 9 /i6 inches wide: 665,366 Pounds resulting in slit coils 675,000 Actual pounds through the slitting machine 9,634 Total pounds of loss (avoidable and unavoidable trim) This then results in a total trim loss of 1.427%. If any or all of the initial coils were wider than 28 9 /i6 inches or heavier than 0.078 gage (one thousandth of an inch makes a noticeable difference), then, of course, the 5000-pound coils will result in higher trim loss and lower yield in slit coils. The follow- ing table illustrates the possible results with all initial coils at various widths. 50 50 This material can be received with initial coil widths varying between 28 9 /i6 to 29 5 /i6. This width is usually controlled within these limits by the steel rolling mill; hence the purchaser has no control over this width variation. 208 ELEMENTARY MATHEMATICAL PROGRAMMING All coils this wide, inches 28 9 /i6 28 15 /i6 29 5 /i6 Poundage resulting in slit coils 665,366 656,686 648,309 Total poundage 675,000 675,000 675,000 Total trim loss 9,634 18,314 26,691 Per cent trim loss 1.427 2.713 3.954 Several savings are indicated by this analysis. First is the sav- ings in material. Most steel slitting operations range between 3 and 4 per cent total trim loss. It does not take a very large- volume slitting operation to realize a sizable savings in dollars with a reduc- tion of only one quarter of 1 per cent in trim loss. Second, less material is handled and run through the slitting operation. This, too, can show a savings in dollars, although most of this is in terms of hidden costs. Third, the mathematical programming analysis tends to minimize the number of slitting-machine set-ups. In the preceding problem the requirements are met with only six settings of the cutter knives. In fact, the mathematical programming solu- tion will never require more set-ups than the total number of slit widths. SUMMARY Stock slitting, whether of steel, fabric, tape, paper or any other materials, presents a problem readily solvable via mathematical programming. The two phases in the analysis are readily adapt- able to high-speed computation equipment and for the first time permit a scientific analysis of the stock slitting problem. In actual manufacturing operations, the combination generation would be accomplished rather infrequently. New combinations must be developed whenever a new size is added to a particular list. Otherwise, the same combinations remain valid for successive solutions with subsequent production requirements. It is of inter- est to note that, when the requirements are zero for a particular slit width, all combinations including that particular width may be dropped from the array, and the solution obtained with a smaller matrix. For example, if in the above problem the requirements were zero for the S^-inch slit width, combinations P u P 6 , P 9 , P 17 , Pis, -Pi 9, and P 26 through P 36 could be dropped from the array, thus permitting the solution to be obtained by solving a 5 X 35 array (5 slit sizes and 30 combinations plus the 5x5 identity). The STOCK SLITTING 209 result would be similar if the 8V2 -inch slit width were dropped entirely. This type of analysis also permits a tighter control on the slitting operation and a reduction in the lead-time requirements. Many manufacturers accomplish the stock slitting from three to four weeks ahead of subsequent manufacturing. The mathematical programming analysis, since it is independent of the time cycle, could be accomplished monthly, semimonthly, or even daily if necessary. Of course, the shorter the time period, the greater the risk of suboptimization. On the other hand, inventories can be reduced if the lead time is reduced. The mathematical programming approach also offers an oppor- tunity for analyzing various widths of initial coils. Certainly, as wider initial coils are used, the trim loss per cent will reduce. At present, most slitting operations specify the width of the initial coils as a multiple of a slit width having the highest requirements. This may not necessarily result in minimum trim loss. In the above problem the combination P 15 (consisting of three cuts of the 9 3 /8-inch size) resulted in 0.125-inch trim loss. Since the 9 3 /s-inch size has by far the highest requirements, it would seem in order to investigate the results if the initial coils were 0.125-inch narrower. This can be rather easily accomplished via the above analysis. Similarly, one can investigate wider widths in attempting to justify a slitting machine for handling wider initial coils. 51 In the problem presented here, a solution was obtained that pro- duces exactly the necessary requirements. The problem can also be solved in several other ways. One formulation would permit overproduction if the equations were changed to requirements (the solution > the requirements). Here one must place a suitable penalty on the slack variables representing overproduction. This penalty might reflect inventorying costs. Another formulation is possible where another month's esti- mated or projected requirements are available. Here one can place upper and lower limits on the solution (one month's require- ments < the solution < the total projected requirements). This then would yield a solution bounded on the bottom by one month's requirements and on the top by the total of one month's and the projected requirements. The simplex array for this analysis would 51 These problems were considered in a research study, the results of which were reported in a paper, "The Application of Linear Programming to a Steel Stock Slit- ting Problem," by R. W. Metzger, for presentation at the ORSA meeting May 15, 1958. 210 ELEMENTARY MATHEMATICAL PROGRAMMING contain twice as many rows (one restriction and one requirement ' per size), but would retain the same combinations. The stock slitting problem is open to a very comprehensive scientific analysis via mathematical programming. Particularly so where high-speed computation facilities are available. This analy- sis of stock slitting has almost unlimited potential throughout industry. This problem is representative of a class of problems that require the two-phase analysis, namely: Determine possible combinations; then apply mathematical programming. Assembly- line balancing is a problem solvable in much the same way. Handling Scheduling Mathematical programming has been and can be applied to optimize nonautomated material handling. This particular appli- cation is interesting in that the mathematical programming por- tion of the problem is relatively small compared to the total problem, and the problem concerns itself with improving upon the existing system rather than changing the mode of handling or the plant layout. Nonautomated material handling refers to handling materials on skids or pallets or in cartons, drums, or tubs via fork- lift truck or other similar means. Almost any material handling other than that accomplished by conveyors can be approached with mathematical programming. Two problems will be considered here. Before they are discussed, it might be well to describe the present state of the nonautomated material handling activity in industry. Most members of Ameri- can management will concede that nonautomated material han- dling operates in the range of 40 per cent effectiveness. In terms of effectiveness and efficiency, this means of material handling is in the same state of development as the average factory job was at about the turn of the century. To illustrate— around 1900, before the widespread application of industrial engineering, the average 211 212 ELEMENTARY MATHEMATICAL PROGRAMMING factory worker received minimal job instructions, and a measure of a fair day*s work was difficult, if not impossible, to obtain. Nowa- days the worker's instructions are much more complete, and a measure of a fair day's work is available. By contrast, however, the worker in material handling today receives few, if any, instruc- tions, and little or no attempt is made to schedule his activities to obtain optimum utilization of the man and his equipment. As a result, it is difficult and often outright impossible to develop and measure a fair day's work for people in a material handling assignment. The major source of inefficiency in nonautomated material han- dling is in the "dead heading" or moving empty from one location to another. Though "dead heading" cannot necessarily be elimi- nated, it can be minimized with mathematical programming. This then permits optimum schedules to be prepared for the material handling activity, thereby realizing improved utilization of the equipment and manpower. There are several important prerequisites or characteristics that must be met before any attempt can be made to improve the ma- terial handling activity. These are: 1. An adequate inventory and material control. This implies a well-ordered warehousing situation, with a designated place or area for everything, and everything in its place. This one characteristic was the major obstacle in a recent attempt to improve the material handling activity in an organization. It was possible to find the same material in several widely separated locations in the plant. Material was stored wherever an empty space was available. With such a situation existing, it is impossible to improve the material handling activity. 2. A measure of material handling time between the various locations. It is necessary to have a measure of handling time, including loading, unloading, moving loaded, and moving empty, among the various departments, warehouses, or internal shipping and receiving points in the plant, in order to develop the material handling schedules. Distance or cost can be used as a measure instead of time in some instances. 3. An indication of average material movements per day. The mathematical solution is based upon average material movements. The normal day-to-day variations can then be rather easily accommodated. The average moves per day can be simply a listing of origin, destination, and number of moves. 4. A daily indication of material requirements for the follow- ing day. Any type of schedule requires preplanning. This is the neces- MATERIAL HANDLING SCHEDULING 213 sary preplanning information to allow optimum schedules to be prepared. In most industrial operations the work for the following day is known; hence most if not all the material requirements can be determined. If these prerequisites can be obtained, then the analysis of a problem can proceed. This analysis takes the form of five phases, which are: 1. An initial survey to identify the various loading and unloading sta- tions, and to determine the average number of material moves required per day. 2. Preparation of handling time data between every possible origin and destination, and time requirements for loading and unloading at the various locations. 3. Determination of the minimum "dead-heading" requirements via mathematical programming. 4. Development of round trips and subsequent schedules for the han- dling equipment. 5. Daily implementation and scheduling to realize the continued bene- fits in optimum utilization of the material handling equipment and personnel. These phases and the mathematical programming approach can best be developed via a sample problem. A PROBLEM 52 This problem is relatively simple, although still typical, and will serve to illustrate this approach. A factory consisting of five departments or work-load centers (A, B, C, D, E) desires to improve its material handling activity with the existing equipment and layout. The plant situation meets all of the required prerequisites. Material handling is accomplished with a number of the same model fork-lift trucks. The same type container is used for all the items handled in this manufacturing operation. (It will be shown 52 This problem is essentially the same as the problem presented in: R. W. Metzger, "In Fork Truck Operations . . . Linear Programming Can Cut Dead-Heading," Flow Magazine, May 1957, pp. 78-81 + . I am indebted to the publishers of Flow Magazine for permission to present this material here. This presentation parallels to an extent the analysis presented by M. Klein and S. Milberg, "The Application of Linear Pro- gramming to Materials Handling," Modern Materials Handling, February 1955, pp. 80-84, and N. V. Reinfeld, Tooling and Production, April 1957. 214 ELEMENTARY MATHEMATICAL PROGRAMMING later how the restriction on types of containers may be modified.) The containers are such that only one at a time may be handled by a truck. The labor standards department has provided average time values for loading and unloading in the various departments, and for moving loaded and empty between them. An initial survey of the material handling operation indicates the average material moves per day as follows: Average No. of Moves per day 6.2 3.1 .8 1.3 3.7 3.1 5.3 1.8 3.6 2.9 7.4 1.0 Total average moves per day = 40.2 Note: This does not include many material movements that occur less fre- quently than once per day. It is necessary to round off the average number of moves per day and to reorganize the survey data into a route table form. This is shown in Figure 123. The average moves per day can be rather easily analyzed when shown in the route table form. Rounding off the number of moves and not including the less-than-once-per-day material movements does introduce a degree of error. However, this error can be over- come in the final analysis of the problem. Actually the route table presents a part of the problem that can- not be improved upon unless the plant layout is changed or the mode of handling is modified— assuming, of course, that the shortest route is taken between any two points. However, the movements represented in the route table represent about one half of the total amount of time and effort in material handling. The lift trucks must, of necessity, spend a portion of the day moving between de- partments without a load. This part of the problem can be most easily seen if we consider the distribution of empty containers. rigin Destination A C A D A E B C B E C B C D D B D C D E E B E D MATERIAL HANDLING SCHEDULING 215 \ To Frorn^^ 6 C D £ Total A 6 3 1 10 B 1 4 5 C 3 5 8 D 2 4 3 9 E 7 1 8 Total 12 11 9 8 \40 40\ Fig. 123. Route Table— Average Number of Moves (Loaded) per day between Departments In this problem department A sends out 12 containers of ma- terial per day to several departments. Unless an unlimited supply of containers is available at department A, it will soon run out of available containers. Similarly, unless the containers are auto- matically consumed in manufacturing, the empties will pile up at the various receiving departments. Therefore, the material han- dling activity must not only distribute the necessary container loads of material, but, since it is usually desirable to keep the sys- tem operative with a minimum of containers, it must also take care of the necessary distribution of empty containers. The problem then is to determine the most economical distribution of empty containers. The distribution of empty containers can be easily accomplished if the route table (Fig. 123) is modified to form a distribution ma- trix for the empty containers. If the from-and-to notation is reversed, and the numbers in the body of the table are erased (pre- serving the rim conditions), a return table as shown in Figure 124 will result. Note that the designation on the rim conditions has been changed to "Empties Available" and "Empties Required." The rim conditions can most easily be interpreted as follows: Department A, since it sends out 10 loaded containers per day, will require 10 empty containers per day to keep the system in balance. Department B, since it receives 12 containers of material per day, has 12 empty containers available for distribution per day. 216 ELEMENTARY MATHEMATICAL PROGRAMMING ^\From To \. B C D E Empties Required A 10 8 5 C 8 D 9 E 8 Empties Available 12 11 9 8 N. 40 40 X \ Fig. 124. Return Table ^^ From To^\^ 6 C D E Empties Required A -.62 -.37 -.23 -.35 10 B -.75 -.80 -.65 5 C -.75 -.21 -.15 8 D -.80 -.21 -.45 9 E -.65 -.15 -.45 8 Empties Available 12 11 9 8 \ 40 40 X \ Fig. 125. Distribution Matrix— Empty-Container Distribution This, then describes a distribution problem. The return table requires merely the addition of the time values for moving an empty container from the various sources to the various destina- tions. This can be noted as shown in Figure 125, and the familiar distribution matrix emerges. MATERIAL HANDLING SCHEDULING 217 The numbers in the body of the array represent the time, in decimal hours, required to move an empty container from the source to the destination. For example, it requires 0.62 hour to move an empty container from department B to department A; 0.37 hour to move an empty container from department C to de- partment A; etc. These time values are expressed as negative, since it is required to minimize the time spent in returning empties. One might question why several of the squares, particularly those containing zeros, are left in the array. In this particular problem it takes no time to move an empty: for example, from B to B. However, in another problem it may actually require some time; i.e., the container may have to be moved from one location to an- other location, or from one end to the other end of the department, and hence would require time. Including these squares in the array, though it has no effect on the time requirements, will make this a generally applicable approach. Any of the distribution methods can be employed to solve the problem as shown in Figure 125. In fact, this problem is so simple that inspection should yield the optimum immediately. Figure 126 illustrates the optimum solution to the distribution matrix. The R and K values have been included so that one can quickly verify the optimality of the solution. ^s. From K, = 6 -.62 C K 2 = -.37 K 3 = D -.23 K 4 = E -.35 Empties Required A R, = © -.62 -.37 © -.23 © -.35 10 © 8 R 2 = .62 © -.75 -.80 -.65 5 C R 3 = -37 -.75 -.21 -.15 8 © D R 4 = .23 -.80 -.21 © -.45 9 E R 5 = .35 -.65 -.15 -.45 © 8 Empties Available 12 11 9 8 40 Fig. 126. Optimum Solution— Empty-Container Distribution 218 ELEMENTARY MATHEMATICAL PROGRAMMING The solution is degenerate, as one might suspect, since several of the individual rim conditions are identical. This, then, provides for the distribution of empty containers in the minimum total time, and completes the third phase in the development of the total problem. The material movement, from the initial survey, and the opti- mum empty-container distribution plan can be tabulated for more convenient reference as shown in Figure 127. Material Deliveries Optimum Empty Container Returns From To No . Loads From To No. Loads A C 6 B A 7 A D 3 C A 3 A E_ 1 B_ B 5 B C 1 C C 8 B E_ 4 D D 9 C B_ 3 E E 8 C D 5 D B_ 2 D C 4 D E_ 3 E B_ 7 E D 1 Fig. 127. Material and Container Movement Summary It is required now to develop lift-truck schedules that will accom- plish both the material deliveries and the empty container distri- bution. This can be accomplished if round trips are developed that alternately schedule the delivery of a load and then the delivery of an empty container, beginning and ending at the same location. For example, one round trip could begin at department A and deliver a load of material to department C, returning to A with an empty. In more abbreviated notation this is A-C-A where the department receiving a delivery of material is underlined. The round trip (a two-leg round trip) can be accomplished three times since only three empty containers must be returned to A from C. This round trip would then leave three A to C trips to be accomplished and will completely cancel out the three C to A trips. MATERIAL HANDLING SCHEDULING 219 More round trips can be assembled in a similar manner, each one canceling some of the trips to be accomplished. If the round trips are developed with alternate loaded and empty moves, then all the required material and container deliveries can be accomplished. Wide choice in round trips is possible, as long as they do not violate the material and container movements of Figure 127. This point will be amplified very shortly. One possible set of round trips is as shown in Figure 128. No. Loads 2 Leg Trips © A-C-A (Trip loaded A to C— unloaded C to A) 3 4 Leg Trips © A-D-D-B-A 2 © A-C-C-B-A 3 © A-E-E-B-A 1 © B-E-E-B-B 4 © C-D-D-C-C 4 © D-E-E-D-D 1 6 Leg Trips © A-D-D-E-E-B-A 1 8 Leg Trips © B-C-C-D-D-E-E-B-B 1 Fig. 1 28. A Possible Set of Round Trips to Accomplish the Required Material and Container Distributions The round trips (Fig. 128) have been organized into 2-, 4-, 6-, and 8-leg trips and have been numbered for further reference in subse- quent discussion. The round trips can be thought of as describing more or less cir- cular paths interconnecting several of the five departments. 220 ELEMENTARY MATHEMATICAL PROGRAMMING It is interesting to note the implications inherent in trip 9. Many organizations, in attempting to control the material handling activity, assign a lift truck and driver to particular areas within the plant. Trip 9 is one of the trips in an optimum handling pro- gram that contacts all but one department in the plant. This, then, points out the fallacy in the scheme that limits material handling equipment to a particular area in a plant. The appropriate time values can be assigned to each of the round trips, based on the time data provided by the labor standards department. The average time required to accomplish the round trip A-Q-A must include the elements: Pick up material container at A (Load) Deliver material to C (Travel loaded) Unload at C (Unload) Pick up an empty container at C (Load) Deliver empty container to A (Travel with empty) Unload empty container at A (Unload) Adding these various elemental times will provide the average time required to accomplish the A-C-A round trip. In this case, the time required is 1.17 hours. (The complete tabulation of time data need not be reproduced here.) Similar tabulations will deter- mine the average time requirements for every round trip. These average time requirements are as shown in Figure 129. nd Trip Time per Trip, Total Time -4o. No. of Trips hours hours © 3 1.17 3.51 © 2 2.45 4.90 © 3 2.73 8.19 © 1 2.55 2.55 © 4 2.32 9.28 © 4 1.28 5.12 © 1 1.84 1.84 © 1 3.36 3.36 © 1 3.98 3.98 Total Time 42.73 hours Fig. 1 29. Average Time Requirements for the Various Round Trips It is obvious that none of these trips in themselves are suitable as an 8-hour assignment for a lift truck and driver. However, the round trips, since they all represent more or less circular intercon- MATERIAL HANDLING SCHEDULING 221 nected trips, can be rather easily partitioned or combined to pro- vide assignments of suitable size. Here one might be prone to develop assignments at or very near 8 hours' duration. However, here several points must be empha- sized. Assignments at or very near 8 hours' duration would be unsatisfactory, since all the time values used are average time values. This means that an 8-hour assignment could be accom- plished approximately 50 per cent of the time in 8 hours. The range or variability of the total time will depend upon the variability of each of the elemental times. The total time for an 8-hour assignment might vary as much as an hour or two, depending on the plant situation, and the possible unexpected delays that may be encountered. Then too an 8-hour assignment would leave no time available for accomplishing the less-than-once-per-day and the unplanned material movements that might be required in a partic- ular day's operation. An assignment then, somewhat nearer 5 to 6 hours of the 8-hour day would leave a degree of flexibility, to permit time for most of the possible delays, and to leave time available for accomplishing the unplanned material movements that are bound to occur. An assignment of 5 to 6 hours will reduce the handling equipment re- quirements in all probability, since a 65 to 75 per cent assignment represents a better than 50 per cent improvement over an average utilization of 40 per cent. The round trips, since they are interconnected at the various departments, can be rather easily made up into suitable assign- ments. For example, round trip 9 and two trips of round trip 1 would result in a 6.32-hour assignment for a scheduled utilization of 79 per cent. In a somewhat similar manner, one can develop more round-trip assignments requiring between 5 and 6 hours. Here it can be seen that a considerable degree of flexibility is pos- sible, not only in developing the round-trip assignments, but in establishing the initial round trips also (Fig. 128). The important point is that all required moves, loaded and empty, are accom- plished. With practice, the development of truck assignments becomes a relatively easy task. One possible arrangement of trip assignments for eight trucks is as shown in Figure 130. Note that the assignments vary from 4.64 hours to 6.32 hours. With more time and effort it may be possible to reduce this vari- ance if desired. However, the variation is usually not critical and presents no major obstacle in the problem. 222 ELEMENTARY MATHEMATICAL PROGRAMMING Average Time Scheduled Utilization, No. of Trucks Round Trips hours Per Cent 1 1 1 1 ®+ 2 /3 ® + ® 6.32 6.29 5.20 5.46 79 78.6 65 68.3 1 2 %®+© ® 5.28 4.64 66 58 1 ® 4.90 61.3 Average planned utilization 65.5% for eight trucks Fig. 130. Trip Assignments for Eight Trucks In a real plant situation, the major advantage of this approach to the material handling problem will become obvious at this point. In all probability, the truck assignments will involve fewer trucks than were formerly required, thereby realizing immediate savings in equipment and manpower. The assignments (Fig. 130) allow time within an 8-hour day for accomplishing the unplanned and less-than-once-per-day material moves. Actually these moves will comprise a minor portion of the total material movements in a well-ordered manufacturing system. The assignments, of course, would not be presented to the truck drivers in this form. A listing of each leg of the trip in the correct order will usually be sufficient. The assignment can be more de- tailed to include part number or other suitable identification for each of the successive material movements if this is required or desirable. Usually this assists the driver in identifying his loads of material through the course of the day. If little variation in trip times and few unplanned material move- ments are encountered, then, of course, truck assignments can be prepared requiring more time than those shown previously. For example, Figure 131 illustrates the same material movements as assignments for six trucks. Assignments as shown in Figure 131 should be made only after some experience or with more information than that given for the problem at hand. Using the Solution. The problem and its solution were based on the average conditions. However, the actual material movements required will probably vary from day to day. Hence it would appear that the entire problem must be set up and solved every day. MATERIAL HANDLING SCHEDULING 223 Average Time Scheduled Utilization, No. of Trucks Round Trips hours Per Cent 1 1 1 2 1 2 + % ® 7 + % ® ®+® y 2 ®+ %® © + ® 7.63 7.30 7.34 7.20 6.06 95.4 91.2 91.7 90 75.8 Average planned utilization 89% for six trucks Fig. 131. Trip Assignments for Six Trucks This is not true. Since the problem was developed and based on average conditions, a degree of variation can be rather easily accom- modated on a day-to-day basis. Day-to-day variations will change the rim conditions of the route table (Fig. 123) and the empty-container return table or distribution matrix (Fig. 126). However, when the rim conditions of the distri- bution matrix change (assuming a small change in any or all of the numbers), the size of the assignments (stones) will change, but their placement in the matrix will remain unchanged. This means that one relatively untrained in mathematical programming can easily obtain the optimum solution with changed rim conditions. On a day-to-day basis then, the variations will be reflected in adding and /or deleting moves from the summary list (Fig. 127). This re- quires some modification in the round trips and in the ultimate truck assignment, but these changes, for the most part, are small compared to the total problem. In a relatively large manufacturing installation, the truck dis- patcher successfully accomplishes the day-to-day scheduling for approximately 20 trucks in a situation similar to the sample prob- lem discussed above. Certainly there will be times when materials are not ready for the truck. The problem is then: what to do? This problem can be rather easily solved where the trucks are radio-dispatched. However, it can also be solved using the usual in-plant telephone system. When a driver reports that material is not ready for him as required in his assignment, the dispatcher can rather easily review the status of the entire material handling activity and pro- vide the driver with one of three possible alternatives. These are: 1, Wait until the material is ready. 2. Pick up someone else's assignment for the remainder of the day. 224 ELEMENTARY MATHEMATICAL PROGRAMMING 3. Accomplish one or more unscheduled material moves, and return to the assigned schedule. The first alternative can be permitted, since a delay safety factor has been included, when preparing a 5- to 6-hour truck assignment. This may be the best or only alternative in some instances. The second alternative is essentially trading assignments between two or more trucks. This is possible, since all the assignments and round trips are interconnected circles. The driver who reported the delay picks up another driver's assignment from that point on. The second driver then follows the first driver's initial assignment from that point on. The third alternative is obvious, since this is a logical time and place to accomplish some of the unplanned material moves. In the example problem, no mention or consideration was made of the time requirements for the material deliveries. It was as- sumed, or at least implied, that deliveries any time during the course of the day were satisfactory. This is rarely if, indeed, ever the case in a real manufacturing situation, unless all material move- ments are accomplished between shifts or on a third shift. In an actual situation, deliveries will have required times at which they must be made. However, relatively few deliveries must be exactly on time, and most of them can be made as much as an hour in advance. In a plant recently investigated, it was found that only 9 deliveries of approximately 65 during the course of the day had to be made at or very near a specific time. In several of these deliveries, the tolerance on time was 10 or 15 minutes at the very most. However, most of the remaining deliveries could be accom- plished as much as 3 hours ahead of the required time. This, of course, will vary with the material, quantity per delivery, rate of consumption, and available space for temporary storage. In preparing the truck schedules, the time requirements can be noted and schedules prepared to accomplish the material move- ments as required during the day. This does make the preparation of truck schedules somewhat more difficult but not insurmountable. Another advantage is to be gained with truck scheduling as out- lined here, in that a measure of efficiency is available. This can permit objective evaluation of the drivers and can point out those not carrying their part of the work load. Without a definite assign- ment, an evaluation of the drivers becomes purely subjective. Truck scheduling can be the initial step in providing a measure of a fair day's work, and a higher degree of control, within the indirect labor area of material handling. MATERIAL HANDLING SCHEDULING 225 In the sample problem, the same container was assumed for the entire operation. This need not be. Several types of containers can be considered without too much difficulty. Those containers having but one origin and destination can be immediately assigned in the movement summary list. Containers having several, but not all possible, origins and destinations, can be so designated in the return-table distribution matrix as a separate row with — M costs wherever distribution is not allowed. This then permits a wide variety of containers to be considered in the same problem. How- ever, the problem becomes more difficult as the number of containers increases, and the potential savings via mathematical programming are reduced. In another problem recently investigated, it was found that the bulk of handling was in fiberboard cartons, which were broken down and disposed of by the sweeper. The problem was no different from that illustrated here, except that the return table represented, for the most part, the redistribution of empty trucks instead of empty containers. The mathematical programming then minimized the empty- container redistribution time and the dead-heading time. This problem involved true dead heading or moving absolutely empty between locations. The time values in the sample problem implied a relatively large manufacturing plant. However, this analysis is equally valid in a smaller installation. The potential gain may be more limited in a smaller plant. One problem encountered involved move times from 3 to 15 minutes each. This presented no apparent obstacle to solving the problem. SUMMARY Mathematical programming was illustrated here as a tool for improving on nonautomated material handling. The problem, though simple, served to illustrate the phases required in its anal- ysis and solution. This application is of particular interest also, in that it shows mathematical programming in its truer proportions: namely, as a means of solving a very small part of the total prob- lem. Many are prone to think that mathematical programming represents the major portion of the problem, whereas in many instances it is a relative small part of the total problem. The approach illustrated in the sample problem is being used on a daily basis in a large government installation. The trucks are 226 ELEMENTARY MATHEMATICAL PROGRAMMING radio-dispatched, and the same dispatcher prepares the truck assignments and controls the material handling operation. The application of mathematical programming resulted in an improve- ment in the operation, with a reduction in required manpower and equipment. This general type of analysis can be employed to ob- tain a measure of comparison between two or more plant layouts. The layout requiring the least amount of material handling time or distance will be best from the material handling standpoint. In this respect, the applications of mathematical programming and of "travel charting" 53 are somewhat similar. The travel-chart ap- proach is somewhat less quantitative. The analysis presented here can be very helpful in providing a valid basis for a cost comparison between a nonautomated and an automated handling system. In many cases, a new material han- dling system is justified by comparison with the existing material handling. It stands to reason, then, that this comparison is at least partially invalid when the existing material handling system is operating in such an inefficient state. This particular application of mathematical programming is of interest then because it implies improving upon the existing system prior to making a change. 53 W. P. Smith, "Travel Charting," AIIE Journal, V. 6, No. 1, January 1955, pp. 13-15. Job and Salary 54 Mathematical programming applied to job and salary evaluation offers a new and useful approach to solving one of management's most elusive problems. The discussion here will be limited to sal- aried and supervisory-type jobs although it can be extended equally well to other job classifications. The mathematical programming part of the problem is, as in several of the previous applications, a relatively small part of the total job-evaluation problem. Job evaluation must be based upon a complete job description, which in itself must stem from an ade- quate definition of the objectives of the organization. Job evalu- ation can be successfully accomplished only after the following points have been crystallized: 1 . Objectives of the organization. 54 1 do not profess to be an expert in this rather specialized area and certainly do not necessarily advocate this approach as the only solution to the job-evaluation problem. This example, however, is presented primarily for its academic interest, since it points to a general class of problems solvable by mathematical programming. Mathematical programming has been successfully applied to job and salary evaluation in one large manufacturing concern, and so this is not a purely academic application. 227 228 ELEMENTARY MATHEMATICAL PROGRAMMING 2. Functions necessary to attain the objectives. 3. Jobs necessary to accomplish the functions. 4. Job definition and description (including the defining of authority and responsibility). When this preliminary work has been accomplished, then a job- evaluation scheme can be developed. The essential characteristic of any job-evaluation program is consistency; it need not be abso- lutely correct, but the evaluations must be consistently administered to be of any real value. Often job evaluation is accomplished by correlation analysis. Basically this type of analysis determines which factor or charac- teristic contributes most to success in a particular job. It is some- what limited, in that relatively few factors can be included in the analysis. Then, too, it is of limited value when success can be attributed to many factors instead of a few. Job evaluation based on mathematical programming is different, in that there is virtually no limit to the number of factors that can be considered in the analysis. Essentially this approach calculates relative weights for each factor, such that the ranking of positions corresponds to the hierarchy of the organization. This analysis then provides a meas- ure of the relative importance of each factor for the jobs within an organization. The job-evaluation problem can be analyzed and solved in six phases. These are: 1 . Determination of the factors to be included in the analysis. This can usually be accomplished by an initial survey of the individuals in the organization, followed by several meetings to crystallize all the factors. To be certain, there will probably be some compromises, but this is not neces- sarily a major problem. This phase of the study is extremely difficult where job descriptions are poorly written or altogether lacking. This phase of the study can provide useful information for improving ambiguous and poorly written descriptions. 2. Development of a well-defined rating system for each factor. Here a major portion of the consistency in the job evaluation is obtained. A rating for each factor is established, and each rating for each factor is carefully defined. This avoids the difficulties inherent in using the usually loosely defined and nebulous terms such as average, above aver- age, and below average. For example, consider the following rating system for the factor education: JOB AND SALARY EVALUATION 229 Rating Definition High school graduate 1 Some college— no degree 2 Bachelor's degree 3 Master's degree 4 Ph.D. degree This is an objective factor. Consider the following rating for the somewhat subjective factor, supervisory ability: Rating Definition None required 1 Ability to supervise a small group of non-technical people on relatively continuous job assignments 2 Ability to supervise a small group of technical and/or professional-type people 3 Ability to supervise a large group of people with several subordinate supervisors 4 Ability to supervise and coordinate the activities of several large groups via a team of subordinate line supervisors Similar ratings can be prepared for every factor in the analysis. The num- ber of ratings can vary; however, practical limitations are soon reached. Too few ratings will not sufficiently delineate between differences in abilities, and too many will require definitions with shades of meaning resulting in a loss of clarity. A rating system through 4 seems generally suitable for job evaluation. 3. Determination of the rating of each factor for each job. This can be accomplished, based upon the job description as well as the responsibility level of the job. This rating becomes the basis for the mathe- matical formulation. 4. Determination of the relative weights of each factor. This is accomplished by mathematical programming. The mathematical formu- lation establishes a point system for a number of key jobs (those jobs where a difference in level is unquestionable) based upon the hierarchy of the organization. The total points for a position are based upon the hierarchy curve (or salary curve in some cases) of the organization. Hence, the relative weights are calculated so that they are consistent with the job rating and the hierarchy. 5. Calculation of point ratings for remaining jobs. The calcu- lated relative weights are used to evaluate and position the remaining jobs in the hierarchy. If the results obtained are in error, i.e., several jobs are 230 ELEMENTARY MATHEMATICAL PROGRAMMING definitely out of place, then, either the mathematical formulation must be reworked with more key positions, or a significant factor (or factors) has been overlooked in the analysis. 6. Evaluation of the employee, his job, and his salary. This is the real end result. Here a much more objective appraisal of the employee, his salary and his job is possible. The mathematical analysis can best be seen in a small illustrative example. Assume that an organization has already accomplished the first three phases of the study. 55 The problem is ready then for the mathematical analysis. At this point, it is necessary to determine the set-up of the hierarchy within the organization. This can and will vary between organizations; however, it must be known before the mathematics can be applied. Figure 132 illus- trates some forms of hierarchy organizations. Line C is generally representative of most organizations. Desired rating -?J / Ifc / < / 7 / y / Lowest jobs Highest Fig. 132. Organization Hierarchy The hierarchy can be developed according to salary range, but this is not a requirement. In cases where salary and bonus are employed, such as sales positions, the salary alone is not a partic- ularly good indicator. The rating can be successfully developed with only a very broad indication of salary ranges, and thereby will approximate the general pay scale without fixing the solution exactly as to salary. Four key jobs have been selected and their rating is as shown in Figure 133. 55 It must not be construed that these phases are unimportant for, if these cannot be accomplished, the entire study is stymied. The example shown here is primarily to illustrate the mathematics employed. JOB AND SALARY EVALUATION 231 Factors Job Education Experience Judgment Supervisory Ability Manager Superintendent General Foreman 3 3 2 4 4 3 4 4 3 4 3 3 Foreman 2 1 3 1 Assistant foreman 1 1 Fig. 1 33. Key Jobs and Their Ratings 56 The organization hierarchy indicates that a rating system should establish points for the jobs as follows: Job Points Manager 20,000 General foreman 10,000 Assistant foreman 2,000 The mathematical formulation can then be prepared. Let x 1 = the relative weight of the factor education x 2 = the relative weight of the factor experience x 3 = the relative weight of the factor judgment x 4 = the relative weight of the factor supervisory ability then part of the formulation representing those key jobs with desired point ratings is as follows: Manager 3^ + 4x 2 + 4x 3 + 4x 4 < 20,000 (1) General foreman 2x 1 + 3jc 2 + Sx 3 + 3x 4 s 10,000 (2) Assistant foreman x 1 + x 3 > 2,000 (3) Note here that three types of mathematical relationships are represented. The restriction (1) and requirement (3) keep the point values within the required range. The approximation (2) is mathe- matically better than an equation since the general foreman job rating need not be exactly equal to 10,000 points. Several additional relationships must be included in the formu- lation. Obviously the calculated ratings for the key positions can- not violate the ranking requirements; i.e., the superintendent job cannot have a rating superior to the manager job. Even if actual 56 In a real situation, more key positions would probably be included and certainly many more factors. The problem is purposely abbreviated here for clarity. 232 ELEMENTARY MATHEMATICAL PROGRAMMING numerical values were listed for all positions, this would be neces- sary. The formulas to express the ranking are relatively simple. Since the superintendent rating must be less than the manager rating, then the difference between them must be at least zero, or: 0'X 1 + 0»Jt 2 + 0*x 3 + x 4 > This will assure that the superintendent job rating can never exceed the manager job rating. Here it might be desirable to specify some minimum point spread: say 500 points. Mathemat- ically this would be 0-x, + 0-x 2 + 0-x 3 + x 4 > 500 This would assure a minimum of 500 points difference between the two positions. This must be accomplished in a similar manner for every other position. Assuming at least a 500-point difference between ratings, the formulation must then include: x 4 > 500 (4) x, + x 2 + x 3 > 500 (5) 2x 2 + 2x 4 > 500 (6) x x + x 2 + 2x 3 + x 4 > 500 (7) These four expressions assure a minimum of 500 points spread between job ratings. All seven relationships adequately express the problem. The objective in this case is to minimize the slack or deviation in the expressions (1), (2), and (3). The entire problem ready for the initial simplex matrix is then as follows: The system: Sx 1 + 4x 2 + 4x 3 + 4x 4 + W x = 20,000 (1) 2x x + Sx 2 + 3x 3 4- Sx 4 - W 2 + W 3 = 10,000 (2) x, + x 3 - W 4 + U,= 2,000 (3) x 4 -W 5 + U 2 = 500 (4) x, + x 2 + x 3 - W 6 + U 3 = 500 (5) 2x 2 + 2x 4 - W 7 + U 4 = 500 (6) JOB AND SALARY EVALUATION 233 x 1 + x 2 + 2x 3 + jc 4 - W 8 + U 5 = 500 (7) The objective: o • x, + o . x 2 + w; - w 2 - w 3 + • W 4 + • W 5 MU 1 - MU 2 • • • = maximum The problem is represented then in a 7 X 17 simplex array. The solution to this mathematical model will provide relative weights for each of the factors, consistent within the specifications of the model. 57 The calculated results for the weights of the various factors (x's) can be applied to the remaining jobs to obtain their respective rating. The same calculated results can be applied to evaluating the men in the jobs. This can provide a much more objective eval- uation and one that can result in constructive criticism of any shortcomings. One might question here that the analysis and evaluation con- siders factors or characteristics required by the job and possessed by the individual in the job. To be certain, an individual's past performance will enter into the evaluation through those factors required for successful past performance. It is conceivable too that this type of analysis, in that it includes many factors, can detect the competent technician or lower-level supervisor, who would fail or do a marginal job with a promotion beyond his capabilities. The job-evaluation scheme presented here can be very useful in obtaining a rapid, objective evaluation of a potential employee. Several interviews can provide a reasonably valid evaluation of the individual's talents which can be rather easily compared with the requirements of the job. A job-evaluation scheme as outlined above can be very useful in the promotion problem. Here it is possible to see the problem as one of distribution: one in which men are distributed to jobs so that the difference between the man's point value and his job's point value is as small as possible. This may not necessarily result 57 It is of interest here to note that the objective accomplishes a series of short straight lines or broken lines conforming with the hierarchy curve. These straight lines representing the approximation to the hierarchy curve are such that the sum of the absolute differences is a minimum. This then matches a series of short straight lines to a curve by a sum of absolute differences method. 234 ELEMENTARY MATHEMATICAL PROGRAMMING in the actual best solution, but it can serve as a guide for the final management action. 58 SUMMARY Job and salary evaluation presents a somewhat different applica- tion of mathematical programming. In this type of problem, mathematical programming can provide a more detailed analysis than that obtainable by correlation analysis. Possible advantages are: 1. Consistent employee evaluation and rating throughout the organiza- tion. 2. A more valid indication of an individual's worth. 3. A more valid justification for salary increases. 4. Better employee counciling. This can be more objective and actually assist the employee in his self-development. 5. Aid in solving promotion problems. Certainly, many of these advantages can be gained with a variety of evaluation schemes. However, this application does illustrate the thorough and far-reaching analysis dictated by the general operations research approach to the problem. This example is interesting since it points to more possible appli- cations. Some of these are: 1. Academic testing— it seems feasible that an analysis of, say, col- lege freshman tests can provide a better prediction of academic potential. 2. Market research— it is possible to apply this type of analysis to determining the best of several possible sites for retail outlets, factories, or warehouses. The analysis is based upon the factors influencing costs and/or profits in present operations. This is used to obtain a more objective appraisal of several possible sites for a new operation. 3. Analysis of advertising expenditures— here again the relative weights (or profitability) of the factors affecting advertising can be devel- 58 This is in the category of the assignment problem. Several methods have been developed for this type of problem, notably by Kuhn and Dwyer. The regular distri- bution methods are satisfactory for small problems. However, these problems are so degenerate that they can cause considerable trouble in solution via the distribution methods. JOB AND SALARY EVALUATION 235 oped and used to evaluate the potential return of advertising dollars in the several advertising media. This analysis must be somewhat more cautious, since one cannot absolutely attribute an increase in sales to an increase in advertising 4. Tool analysis— the relative weights of the factors affecting tool life can be determined, so that one can predict more accurately the expected tool life, and hence cost, for a manufacturing problem. 5. Classroom allocation— in a school, this analysis can be employed to determine the room assignments for classes based upon the physical factors of the rooms and the requirements of the classes. These possible applications are offered primarily as thought starters. It is interesting to note that usually the greatest limita- tion to mathematical programming is the ingenuity of the individ- ual applying it. Actually this volume could not possibly contain all the possible applications of mathematical programming. 11- ummary Several methods and applications of mathematical programming have been presented in relatively nonmathematical terms. These methods offer a means of solving a wide variety of problems which have been approached intuitively or not at all in the past. Mathe- matical programming, though it is not a panacea for all problem situations, offers a new approach that can provide management with more and better information on which to base decisions. The applications that have been presented here are by no means even representative of the wide variety of problems solvable by mathematical programming. Though the applications can be classified as distribution or allocation problems, the variety of ap- plications is almost limitless. Some published applications other than those presented here are as follows: Agricultural economics 59 Blending aviation gasolines Evaluating military contract bids Personnel assignment Shipping with least-ballast requirements 59 Many applications have been published primarily in the Journal of Farm Eco- nomics. Many applications have been in the area of farm management: i.e., stock- feeding and crop-planting programs. 236 SUMMARY 237 Optimal test design 60 Assembly-line balancing 61 Structural-design evaluation Optical filter design These and more applications have been presented in the litera- ture to date. There is every indication that this list will continue to expand as time passes. One of the limitations to expanded ap- plications of mathematical programming is the ingenuity of the analysts and their ability to recognize a possible application. Here is where practice can develop proficiency. Actually a need exists for people adequately trained, who can recognize and formulate the problem and, finally, assess the solution and its various alterna- tives as meaningful courses of action for the problem. These peo- ple must be proficient in the required mathematics and yet capable of conversing with management in terms they (management) readily understand. The problem of semantics is present even among well-trained professional people. For example, an economist, a mathematician, and an industrial engineer, all trained in mathematical program- ming, would have at least some differences in interpretation of a solution, based on their individual perspective of a problem. The mathematical programming approach to solving industrial problems is much superior to many of the intuitive methods em- ployed today. It is interesting, however, to discover that often the intuitive solution by an experienced person, particularly in a machine-assignment problem, will be very close to the optimum solution obtained by mathematical programming. This, however, does not discount the value of the mathematical formulation and solution, since any individual with only nominal experience can always obtain the very best answer with mathematical program- ming. By contrast, years of experience are usually required to develop any valid intuitive method of solution. Mathematical programming was limited initially to static analy- sis. As developments progressed, the production planning problem 60 This and the preceding applications are presented in the publication of the Sym- posium on Linear Inequalities and Programming, Project SCOOP, A. Orden and L. Goldstein, eds., Planning Research Division Director of Management Analysis Serv- ice, Comptroller, Headquarters U. S. Air Force, Washington, April 1, 1952. 61 This and the following two applications are presented in the publication of Second Symposium on Linear Programming, two volumes. Washington, D. C, January 27-29, 1955. 238 ELEMENTARY MATHEMATICAL PROGRAMMING was presented as the first example of dynamic analysis (incorporat- ing more than one period of time) with mathematical programming. The planning problem presented in this text is an example of such a dynamic analysis. However, mathematical programming is, in the main, limited to a more static type of analysis. Usually the most difficult task in mathematical programming is obtaining the necessary factual information. Often the digging for the required information will uncover previously hidden problems, which when exposed can be easily solved. It is not inconceivable that the gains derived in solving these previously hidden problems may far outweigh the gains from mathematical programming. In fact, the problem to be solved may be reduced to where the solu- tion is obvious, thereby making mathematical programming un- necessary for the solution. This, however, does not discount the value of mathematical programming, since it involves more of a philosophy of problem approach than merely the solution methods presented here. In the final analysis, anything that forces a criti- cal look at what is being done can be of value to an organization. Another difficulty often encountered is attempting to pinpoint the objective. This is often difficult even for management to specify. The objective may be maximum equipment utilization, minimum cost, maximum profit, maximum number of pieces, etc. Each of these objectives may yield a different solution to the same model. The problem used to illustrate the simplex method is just such a model, where different solutions may be obtained for maxi- mum profit, maximum equipment utilization, and maximum num- ber of pieces produced. If management cannot clearly envision and state the objective, then mathematical programming is stopped before it has even begun. The alternative in such a case is to solve the problem with the several possible objective functions. In many problems, an economist is interested not only in the optimum solution, but also in the effect upon this solution of a small change in the objective function. For example, a manufac- turer is interested not only in an optimum allocation of resources for his manufacturing enterprise, but also in the effect upon the manufacturing system caused by a slight change in labor or ma- terial costs. This type of problem has been approached with the parametric objective function: 62 a means whereby one can solve a 62 T. Saaty and S. Gass, "Parametric Objective Function," Part I, Journal of Opera- tions Research Society of America, V. 2, No. 3. August 1954, pp. 316-319; Part 2, V. 3, No. 4, November 1955, pp. 395-401. See also A. S. Manne, "Notes on Parametric Linear Programming," Rand Report, December 1953. SUMMARY 239 problem with a variety of parameters affecting the objective func- tion. While this requires more work, it does supply management with more and better information for decisions. Mathematical programming, while it is a relatively small part of the total field of operations research, exhibits the operations research philosophy. Mathematical programming forces the new look of operations research, namely, the more complete mathe- matical analysis of a problem, into areas that heretofore relied entirely upon judgment, experience, and intuition. To be sure, mathematical programming cannot and will not replace judgment and experience, but it can be of immeasurable assistance to the people who have to make decisions. Bibliography RELATIVELY EASY READING Beckwith, R. E., and R. Vaswani. "The Assignment Problem— A Special Case of Linear Programming." AIIE Journal, Vol. 8, No. 3, May- June 1957, pp. 167-172. Bishop, G. T. "On a Problem of Production Scheduling." Journal of the Operations Research Society of America, Vol. 5, No. 1, February 1957, pp. 97-103. Bowman, Edward H. "Production Scheduling by the Transportation Method of Linear Programming." Journal of the Operations Research Society of America, Vol. 4, No. 1, 1956, pp. 100-103. Brisley, M. D. J. "Assessing Engineering Problems by Operational Research Meth- ods." Engineer, Vol. 199, 1955, pp. 803-805. Churchman, C. W., R. L. Ackoff, and E. L. Arnoff. Introduction to Operations Re- search. New York: John Wiley & Sons, 1957. Cooper, W. W., and A. Charnes. "The Stepping Stone Method of Explaining Linear Programming Calculations in Transportation Problems." Management Science, Vol. 1, No. 1, October 1954. "Transportation Scheduling by Linear Programming," Proceedings of the Con- ference on Operations Research in Marketing at Case Institute of Technology, January 1953. Ferguson, Robert O. "Linear Programming." American Machinist, Special Report 389, 1955. Goland, M., and E. Koenigsberg. "Operations Research Scientific Approach to Man- agement." Chemical Weekly, May 21, 1955. 240 BIBLIOGRAPHY 241 Harrison, Joseph 0. Jr. "Linear Programming and Operations Research," Operations Research for Management. Baltimore: John Hopkins Press, 1954. Harvard University Graduate School of Business Administration. Operations Research Challenge to Modern Management, August 1954. Henderson, A., and R. Schlaifer. "Mathematical Programming: Better Information for Better Decision Making." Harvard Business Review, May-June 1954. Herrmann, C. C., and J. F. Magee. "Operations Research for Management." Harvard Business Review, July- August 1953, pp. 100-112. Klein, M., and S. Milberg. "The Application of Linear Programming to Materials Handling." Modern Material Handling, February 1955, pp. 80-84. Kruse, B. "Using Computers to Match Production and Seasonal Trends." American Business, Vol. 25, No. 12-13, October 1955. Lanchester, F. W. Aircraft in Warfare: The Dawn of the Fourth Arm. London: Con- stable & Co., 1916. Magee, J. F. "Application of Operations Research to Marketing and Related Man- agement Problems." Journal of Marketing, Vol. 18, April 1954, pp. 361-369. Discussion by R. L. Ackofif, Vol. 20, July 1955, pp. 47-48. McCloskey, J. F., et al. Operations Research for Management. Baltimore: John Hopkins Press, 1954. (Vol. II, 1956.) Metzger, R. W. "Linear Programming Can Cut Dead-heading," Flow Magazine, May 1957, pp. 78-81+. Reinfeld, N. W. "VAM: Short-cut to Mathematical Programming." Tooling and Pro- duction, Vol. 23, No. 1, April 1957, pp. 94-99. Schultz, A. "Operations Research Related to Production Engineering." American Society of Mechanical Engineers, Paper No. 54-A-221, December 1954. Scott, Lloyd N. Naval Consulting Board of the United States. Washington: Govern- ment Printing Office, 1920. Smith, W. P. "Travel Charting." AIIE Journal, Vol. 4, No. 1, January-February 1955, p. 13. Whitmore, William F. "Edison and Operations Research," Journal of the Operations Research Society of America, Vol. 1, No. 2, February 1953, pp. 83-85. REFERENCES FOR THE MORE MATHEMATICALLY INCLINED Arnoff, E. L. "The Application of Linear Programming to Production Engineering and Scheduling." American Society of Mechanical Engineers Paper No. 54-A-223, December 1954. 7 pp. Barankin, E. W. "The Scheduling Problem as an Algebraic Generalization of Ordi- nary Linear Programming." Industrial Logistics Research Project, University of California, Los Angeles, Discussion Paper No. 19. 16 pp. Chatto, K. A. "An Application of Operations Research Methods to the Selection of a Processing Plan in a Meat Packing Plant." Unpublished MSIE Thesis, Purdue University, June 1955. Churchman, C. W., R. L. Ackoff, and E. L. Arnoff. Introduction to Operations Research. New York: John Wiley & Sons, 1957. 242 ELEMENTARY MATHEMATICAL PROGRAMMING Dwyer, P. S. Linear Computations. New York: John Wiley & Sons, 1951. Galler, B. A. "704 Program for the Approximate Solution of the Multidimensional Transportation Problem." General Motors Research Staff Report No. 34-782, November 1956. Also Report No. 34-844, March 27, 1957. (Privately circulated.) Hitchcock, Frank L. "The Distribution of a Product from Several Sources to Nu- merous Localities." Journal of Mathematics and Physics, Vol. 20, 1941, pp. 224-230. Hoffman, A. J. "Linear Programming." Applied Mechanics Review, Vol. 9, No. 5, May 1956, pp. 185-187. Houthakker, H. C. "On the Numerical Solution of the Transportation Problem." Journal of the Operations Research Society of America, Vol. 3, No. 2, May 1955. pp. 210-214. Manne, Alan S. Scheduling of Petroleum Refinery Operations. Cambridge, Massa- chusetts: Harvard University Press, 1956. 181 pp. Metzger, R. W. "Development of Refined Mathematical Programming Methods for Industrial Engineering Problems." Unpublished MS Thesis, Michigan State Uni- versity, 1957. Morse, P. M., and G. E. Kimball. Methods of Operations Research. Massachusetts Institute of Technology and John Wiley & Sons, 1951. Project SCOOP. A. Orden and L. Goldstein (editors). Symposium on Linear Inequal- ities and Programming. Washington: Headquarters U. S. Air Force and National Bureau of Standards, 1952. Saaty, T. L. "Approximation to the Value of the Objective Function in Linear Pro- gramming by the Method of Partitions." Journal of the Operations Research Society of America, Vol. 4: No. 3, June 1956, p. 352. and S. Gass. "Parametric Objective Function," Part I. Journal of the Oper- ations Society of America, Vol. 2, No. 3, August 1954, pp. 316-319. Part II. Vol. 3, No. 4, November 1955, pp. 395-401. Salveson, M. E. "A Mathematical Theory of Production Planning and Scheduling." Journal of Industrial Engineering, Vol. 4, No. 1, February 1953, pp. 3-6. Salveson, M. E., and R. C. Canning. "Electronic Production Control." Industrial Logistics Research Project, University of California, Los Angeles, Research Report No. 17. "On a Quantitative Method in Production Planning and Scheduling." Eco- nometrica, Vol. 20, No. 4, October 1952, pp. 554-590. Second Symposium on Linear Programming. Two Volumes. Washington, U. S. Air Force and Bureau of Standards, 1955. Foulkes, J. "Linear Programming and Structural Design." pp. 177-184. Gainen, Leon. "Linear Programming in Bid Evaluation." pp. 29-38. Jacobs, Walter. "Military Applications of Linear Programming." pp. 1-28. Salveson, M. E. "Assembly Line Balancing Problem." pp. 55-102. Tintner, G. "Stochastic Linear Programming with Applications to Agricultural Economics." pp. 197-228. Votaw, D. F. "Programming under Conditions of Uncertainty." pp. 187-196. Slade, J. J. "Some Observations on Formal Models for Programming." American Society of Mechanical Engineers. Paper No. 54-A-241, December 1954. BIBLIOGRAPHY 243 Symonds, G. H. Linear Programming: The Solution of Refinery Problems. New York: Esso Standard Oil Company, 1955. 74 pp. Vajda, S. The Theory of Games and Linear Programming. New York: John Wiley & Sons, 1956. Wagner, H. M. "A Two-Phase Method for the Simplex Tableau." Journal of the Operations Research Society of America, Vol. 4, No. 4, August 1956, pp. 443-447. TECHNICAL REFERENCES Charnes, A., W. W. Cooper, and A. Henderson. An Introduction to Linear Program- ming. New York: John Wiley & Sons, 1953. Dantzig, G. B. "Application of the Simplex Method to a Transportation Problem." T. C. Koopmans (editor). Activity Analysis of Production and Allocation. New York: John Wiley & Sons, 1951. Dorfman, Robert. Application of Linear Programming to the Theory of the Firm. Berkeley, California: University of California Press, 1951. Dwyer, P. S. "Maximum Group Assembly Sums." Report submitted to Air Force Personnel and Research Center, Randolph Field, Texas. "The Solution of the Hitchcock Transportation Problem with a Method of Reduced Matrices." University of Michigan, December 1955. (Hectographed.) Eisemann, Kurt. "Linear Programming." Quarterly of Applied Mathematics, Vol. 13, No. 3, October 1955, pp. 209-323. "Linear Programming— Recursive Generation of Vectors for the Modified Sim- plex Method." New York: IBM, 1956. (Mimeographed.) Koopmans, T. C. Activity Analysis of Production and Allocation. New York: John Wiley & Sons, 1951. 404 pp. Kuhn, H. W. "The Hungarian Method for the Assignment Problem." Naval Re- search Logistics Quarterly, Vol. 2, 1955, pp. 83-97. Marine, Alan S. "Notes on Parametric Linear Programming." Rand Report, Decem- ber 1953. McAllister, G. Eric. "Statistical Decision Theory." Industrial Logistics Research Project, University of California, Los Angeles, Technical Report No. 10, 1953. Project SCOOP. A. Orden and L. Goldstein (editors). Symposium on Linear In- equalities and Programming. Washington: Headquarters U. S. Air Force and National Bureau of Standards, 1952. Saline, L. E. "Quadratic Programming of Interdependent Activities for Optimum Performance." American Society of Mechanical Engineers. Paper No. 54-A-58, November 1954. 21 pp. Salveson, M. E., and R. C. Canning. "On an Assembly-Line Balancing Problem." ASME Transactions, Vol. 77, No. 6, August 1955, pp. 939-948. Second Symposium on Linear Programming. Two Volumes. Washington: U. S. Air Force and Bureau of Standards, 1955. Foulkes, J. "Linear Programming and Structural Design." pp. 177-184. Gainen, Leon. "Linear Programming in Bid Evaluation." pp. 29-38. Jacobs, Walter. "Military Applications of Linear Programming." pp. 1-28. 244 ELEMENTARY MATHEMATICAL PROGRAMMING Salveson, M. E. "Assembly Line Balancing Problem." pp. 55-102. Tintner, G. "Stochastic Linear Programming with Applications to Agricultural Economics." pp. 197-228. Votaw, D. F. "Programming Under Conditions of Uncertainty." pp. 187-196. Symonds, G. H. Linear Programming: The Solution of Refinery Problems. New York: Esso Standard Oil Company, 1955. 74 pp. Vajda, S. The Theory of Games and Linear Programming. New York: John Wiley & Sons, 1956. Wald, Abraham. Statistical Decisions Functions. New York: John Wiley & Sons, 1950. 179 pp. Inclox Assignment problems, 39 Assignments, in distribution problems, 13, 38 number of, 39, 51 lift truck, 222 machine, 120 round trip, 221 Back orders, 175 Body, simplex, 64 Burden, unabsorbed, 62 Check column, 80, 81 Check row, 82 Constant column, 64 positivity requirement, 91 Correlation analysis, 228 Cowles Commission, 6 Dead heading, 212, 225 Degeneracy, in distribution problems, 37 resolution of, 37-42 in VAM, 51, 54 resolution of, 51, 54 in simplex method, 87 resolution of, 88 Determinates, 63 Dual problem, 107, 108 general form, 111 Dummy customer, 34, 35 Dummy warehouse, 32 Efficiency, computational, 112, 113 material handling, 211 Epsilon in distribution problems, 41 FIFO, 191 Formulation, 141 see also Model i, general usage, 21, 55 Identity, 64, 91 Improvement in MODI, amount of, 24 in simplex index row, 64, 65 Index numbers in simplex, 65, 73, 76 economic interpretation, 70-72, 74, 110 checking, 79 in index method, 122 Inequalities, linear, 59 Inventories, planning for, 198 245 246 INDEX Inventory control, 212 costs, 34, 176, 209 minimize, 201 Inventory charge, 179, 182 Iterate, 20, 69, 167 Iteration, number of, 27 Iterative, 20 j, general usage, 21, 55 Key column, 66, 73 tie between 2 or more, 77, 89 Key number, 67, 73 Key row, 67, 73 tie between 2 or more, 88 Operations research military, 1, 2 new view point of, 2, 141 Opportunity profit, 71, 74, 110 Optimize, definition, 11 Parametric objective function, 238 Partitioning, matrix, 137 round trips, 221 Primal problem, 108 general form, 111 Product allocation, 3, 120, 142 Program, computer, 167 Programming, nonlinear, 118, 153 quadratic, 118 LIFO, 195 m, 12, 39 M, artificial variables, 92, 145 automatic computation, 112 definition, 34, 145, 190 in distribution problems, 34, 190 Main row, 67, 73 Marginal rate of exchange, 72, 74 profit (or cost), 110, 112 Matrix, distribution, 12 dimension of, 12, 32, 39, 103, 106, 128, 176 general definition, 12 simplex dimension of, 63, 98, 109, 204 nomenclature, 64 partitioning of, 137 Maximize, algebraically, 30, 43, 77, 144 Model, mathematical, 61 n, 12, 39 Naval Consulting Board, 2 Normalized ratio, 126 Northwest corner initial solution, 12 Objective function, 61 algebraically maximize, 77, 144 bounding the value of, 137 modified, 99 parametric, 238 row, 64 selection of, 238 vs. system, 75 Redundant expressions, 95, 117, 139 Redundant variables (columns), 97, 139 Rim conditions, 13 balancing of, 32, 35 changes in, 223 total of, 36 Setup time, 126, 134, 156 Solution, distribution, alternative, 30, 41-43 equally optimum, 42 intuitive, 245 simplex, equally optimum, 150, 152, 163 optimum, 69 space of, 83 stub, 64 trivial, 63 Stepping-stone method, 11, 19 Stones, 13 number of, 39, 51 zero, 38 Stone square, 13 Suboptimization, 198 risk of, 209 System vs. objective function, 75 U, 92 Variable, artificial, 92, 93, 145 slack, 62, 145 W, definition of, 62 Water square, definition, 13 evaluation, 14-18, 190 Date Due Returned Di Elementary mathematical programming engr 519.92M596eC2 3 ISbE DE203 bSEfi 5-/90=-- « WYSICS 1" "HI